URL 配置和 404 错误
URL configuration and 404 error
我正在处理一个个人 Django 项目,但出现 404 错误,但我不明白为什么。
我尝试了以下配置:
Urls.py
url(r'composer/(?P<slug>.+)$', views.articles_plats_composer, name='articles_plats_composer'),
我的看法:
def articles_plats_composer(request, slug):
sous_categories_articles = get_object_or_404(Sous_Categories_Article, slug=slug)
articles = sous_categories_articles.article_set.all()
return render(request, "commander-suite-composer.html",{'sous_categories_articles':sous_categories_articles, 'articles':articles})
还有我的模板:
<a href="{% url 'articles_plats_composer' article.slug %}"></a>
使用此配置即可。当我尝试仅使用一个 id 时,它可以工作(相同类型的代码)。
但是,当我尝试使用以下代码生成 slug 和 id url 时,出现 404 错误。
我的 URL 文件
url(r'composer/(?P<slug>.+)-(?P<id>\d+)$', views.articles_plats_composer, name='articles_plats_composer'),
我的看法:
def articles_plats_composer(request, slug, id):
sous_categories_articles = get_object_or_404(Sous_Categories_Article, slug=slug, id=id)
articles = sous_categories_articles.article_set.all()
return render(request, "commander-suite-composer.html",{'sous_categories_articles':sous_categories_articles, 'articles':articles})
还有我的模板:
<a href="{% url 'articles_plats_composer' article.slug article.id %}"></a>
我不明白为什么单独使用它有效,但是当我将它们组合在一起时却无效...
提前感谢您的帮助
Singertwist
在您的模板中试试这个:
slug=article.slug id=article.id
所以,我找到了答案。
def articles_plats_composer(request, id, slug):
sous_categories_articles = get_object_or_404(Sous_Categories_Article, id=id, slug=slug)
articles = sous_categories_articles.article_set.all()
return render(request, "commander-suite-composer.html",{'sous_categories_articles':sous_categories_articles, 'articles':articles})
感谢您的帮助。
我正在处理一个个人 Django 项目,但出现 404 错误,但我不明白为什么。
我尝试了以下配置: Urls.py
url(r'composer/(?P<slug>.+)$', views.articles_plats_composer, name='articles_plats_composer'),
我的看法:
def articles_plats_composer(request, slug):
sous_categories_articles = get_object_or_404(Sous_Categories_Article, slug=slug)
articles = sous_categories_articles.article_set.all()
return render(request, "commander-suite-composer.html",{'sous_categories_articles':sous_categories_articles, 'articles':articles})
还有我的模板:
<a href="{% url 'articles_plats_composer' article.slug %}"></a>
使用此配置即可。当我尝试仅使用一个 id 时,它可以工作(相同类型的代码)。
但是,当我尝试使用以下代码生成 slug 和 id url 时,出现 404 错误。
我的 URL 文件
url(r'composer/(?P<slug>.+)-(?P<id>\d+)$', views.articles_plats_composer, name='articles_plats_composer'),
我的看法:
def articles_plats_composer(request, slug, id):
sous_categories_articles = get_object_or_404(Sous_Categories_Article, slug=slug, id=id)
articles = sous_categories_articles.article_set.all()
return render(request, "commander-suite-composer.html",{'sous_categories_articles':sous_categories_articles, 'articles':articles})
还有我的模板:
<a href="{% url 'articles_plats_composer' article.slug article.id %}"></a>
我不明白为什么单独使用它有效,但是当我将它们组合在一起时却无效...
提前感谢您的帮助
Singertwist
在您的模板中试试这个:
slug=article.slug id=article.id
所以,我找到了答案。
def articles_plats_composer(request, id, slug):
sous_categories_articles = get_object_or_404(Sous_Categories_Article, id=id, slug=slug)
articles = sous_categories_articles.article_set.all()
return render(request, "commander-suite-composer.html",{'sous_categories_articles':sous_categories_articles, 'articles':articles})
感谢您的帮助。