티스토리 뷰
url의 변수화하는 이유는 app에 따라 urls.py를 생성한다. 이떄 url이 중복 되는 경우가 발생할 수 도 있다. 따라서 app_name을 지정하고 각각의 path에 name을 지정함으로 이러한 문제를 방지한다.
url이 복잡해 질 수 있다. 따라서 아래의 urls.py와 같이 변수화를 진행한다.
from django.urls import path
from . import views
app_name = 'posts'
urlpatterns = [
path('', views.index, name='index'),
path('create/', views.create, name='create'),
path('<int:pk>/', views.detail, name='detail'),
path('<int:pk>/delete/', views.delete, name='delete'),
path('<int:pk>/update/', views.update, name='update'),
path('<int:pk>/comments/', views.comments_create, name='comments_create'),
]
app_name = 'posts'
이부분은 app이름으로 변수화를 시켜준다. app_name을 변수화 해주면 아래의 urlpattern부분의 name이 다른 app과 중복되더라도 오류가 발생하지 않는다.
예시
<a href="{% url 'posts:index' %}">
<a href="{% url 'posts:delete' article.pk %}"> - 만약 pk값이 여러개라면 순서에 맞에 article.pk뒤에 적어주면된다.
redirect(f'/articles/{ article.pk }')
redirect{'articles:detail', article.pk} - app이름을 적고 값을 적어주면된다.
'Web > Django' 카테고리의 다른 글
| [Django] CRUD_READ_목록페이지 구현 (0) | 2020.07.12 |
|---|---|
| [Django] CRUD_CREATE (0) | 2020.07.10 |
| [Django] HTTP+ GET과 POST (0) | 2020.07.08 |
| [Django] 프로필 이미지 구현_gravatar (python코드의 확장) (0) | 2020.07.08 |
| [Django] bootstrap (0) | 2020.07.06 |
- Total
- Today
- Yesterday
- TensorFlow
- react autoFocus
- django
- react
- mongoDB
- nextjs autoFocus
- vuejs
- login
- Express
- Vue
- useState
- nodejs
- BFS
- UserCreationForm
- pandas
- Python
- logout
- NextJS
- error:0308010C:digital envelope routines::unsupported
- next.config.js
- Deque
- 클라우데라
- 자료구조
- 자연어처리
- typescript
- Queue
- JavaScript
- read_csv
- DFS
- useHistory 안됨
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
