장고
Django7learn at$ source venv/bin/activate
structure
블로그-urls.py
path('list/', post_list),
path('archive/<int:year>', post_list),
path('archive/<int:year>/<int:month>', post_list),
blog-views.py
if 월이 if year 앞에 와야 하는 경우
def post_list(request, year=None, month=None):
if month is not None:
return HttpResponse(f"post list archive for {year} and {month}")
if year is not None:
return HttpResponse(f"post list archive for {year}")
return HttpResponse("Posts list page")
블로그 앱에서 utils.py 생성
class FourDigitYear:
regex = '[0-9]{4}'
def to_python(self, value):
return int(value)
def to_url(self, value):
return '%04d' % value
from django.urls import path, register_converter
from blog.utils import FourDigitYear
from blog.views import post_list, categories_list, post_detail
register_converter(FourDigitYear, 'fourdigit')
urlpatterns = [
path('list/', post_list),
path('archive/<int:year>', post_list),
path('archive/<fourdigit:year>/<int:month>', post_list),
path('detail/<slug:post_slug>/', post_detail),
path('categories/list', categories_list),
]
또 다른 방법:
블로그-urls.py
from django.urls import path, re_path
re_path(r"archive/(?P<year>[0,9]{4})/", post_list),
Reference
이 문제에 관하여(장고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pooyaalamdari/django-5dh0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)