티스토리 뷰
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
- useHistory 안됨
- Express
- Vue
- error:0308010C:digital envelope routines::unsupported
- Deque
- BFS
- vuejs
- useState
- NextJS
- login
- react
- mongoDB
- nextjs autoFocus
- DFS
- 자연어처리
- next.config.js
- Python
- django
- Queue
- logout
- JavaScript
- TensorFlow
- read_csv
- react autoFocus
- UserCreationForm
- typescript
- 자료구조
- nodejs
- pandas
- 클라우데라
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |