Python 如何在Django url.py中使用slug配置类别、子类别和帖子?
我需要如下配置Django URL:Python 如何在Django url.py中使用slug配置类别、子类别和帖子?,python,django,Python,Django,我需要如下配置Django URL: /<slug_category>/ /<slug_category>/<slug_sub_category>/ /<slug_category>/<slug_post>/ def cat_or_post(request,category_slug,slug_subcategory): try: post = Post.objects.get(slug=slug_subcat
/<slug_category>/
/<slug_category>/<slug_sub_category>/
/<slug_category>/<slug_post>/
def cat_or_post(request,category_slug,slug_subcategory):
try:
post = Post.objects.get(slug=slug_subcategory)
# put the rendering code here
except Post.DoesnotExist:
return category(request,category_slug,slug_subcategory)
//
///
///
我试过这个。问题在于//
和//
之间存在冲突
urlpatterns = [
url(r'^(?P<category_slug>[\w-]+)$', views.category),
url(r'^(?P<category_slug>[\w-]+)/(?P<slug_subcategory>[\w-]+)/$', views.category),
url(r'^(?P<category_slug>[\w-]+)/(?P<post_slug>[\w-]+)/$', views.post),
]
urlpatterns=[
url(r'^(?P[\w-]+)$,views.category),
url(r'^(?P[\w-]+)/(?P[\w-]+)/$”,views.category),
url(r'^(?P[\w-]+)/(?P[\w-]+)/$”,views.post),
]
有可能吗?有人能帮我吗
谢谢 您不能使用两个不同的URL,因为它们具有相同的模式(如注释中所指出的)。解决方案是使用相同的URL并相应地获取内容。比如说
urlpatterns = [
url(r'^(?P<category_slug>[\w-]+)$', views.category),
url(r'^(?P<category_slug>[\w-]+)/(?P<slug_subcategory>[\w-]+)/$', views.cat_or_post),
]
它们具有相同的正则表达式结构,您可以尝试使用如下内容:
category//post/
Yes@Gotch。谢谢你的帮助!但不幸的是,这个网站已经存在(在Wordpress中),我想保持URL的相同结构。你试过我的答案了吗?谢谢@e4c5!我认为这是最好的选择!但必须确保slug_子类别和slug_post不相等。是的,确实如此,但通常word press自动生成的post slug相当长,因为类别slug很短。所以它不太可能引起问题