我是新来的django
在www.example.com中urls.py,我这样设置路径。我尝试创建一个带有URL的页面:localhost:8000/topics/1/
urlpatterns = [
path('topics/(?P<topic_id>\d+)/', views.topic, name='topic'),
]
在views.py中。代码如下:
def topic(request, topic_id):
"""Show a single topic and all its entries"""
topic = Topic.objects.get(id=topic_id)
entries = topic.entry_set.order_by('date_added')
context = {'topic': topic, "entries": entries}
return render(request, 'learning_logs/topic.html', context)
我得到错误404当输入localhost:8000/topics/1/.
主题/(?P\d+)/ [name ='topic']
当前路径topics/1/与其中任何一个都不匹配。
但正确的URL结果是:localhost:8000/主题/(%3FP1%5Cd+)/
是网址中的路径有问题还是什么问题?
1条答案
按热度按时间bmp9r5qi1#
试试这个
如果你需要一个整数,你可以把它指定为,
为什么
topics/(?P<topic_id>\d+)/'
不工作?实际上你是在混合使用。
如果你试图在你的url中提供一个*包含正则表达式的表达式***,使用
re_path()
**。所以你的模式将是: