Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:-NoReverseMatch错误_Python_Html_Django_Namespaces_Web - Fatal编程技术网

Python Django:-NoReverseMatch错误

Python Django:-NoReverseMatch错误,python,html,django,namespaces,web,Python,Html,Django,Namespaces,Web,我正在跟随DjangofGirls.org教程制作我的第一个django站点。我正在尝试“扩展你的模板”阶段,以便在我的网站中创建一个使用通用模板的文章链接 我一直被抛出错误:“NoReverseMatch at/,与参数“()”和关键字参数“{pk':''}”相反的'post_detail',未找到。尝试了1个模式:['post/(?p\d+/$”]”” 一些变量和文件名可能看起来很奇怪,网站的使用是音乐采样,但我使用了教程的名称,以防出错 整个项目的My URL.py: from djang

我正在跟随DjangofGirls.org教程制作我的第一个django站点。我正在尝试“扩展你的模板”阶段,以便在我的网站中创建一个使用通用模板的文章链接

我一直被抛出错误:“NoReverseMatch at/,与参数“()”和关键字参数“{pk':''}”相反的'post_detail',未找到。尝试了1个模式:['post/(?p\d+/$”]””

一些变量和文件名可能看起来很奇怪,网站的使用是音乐采样,但我使用了教程的名称,以防出错

整个项目的My URL.py:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'', include('sample.urls')),
]
特定应用程序的My urls.py(示例):

基本模板中的代码行是指向网站中另一个页面的链接:

<a href="{% url 'post_detail' pk=post.pk %}">How to sample</a>


我看到另一个人在一个类似的项目中提出了这个问题,并将其修复,但我不太了解答案,无法对我的问题进行更改(我不知道名称空间是什么)。

如果您有多个URL.py,名称空间可以告诉django如何处理该请求。因此,在通常情况下,名称空间是应用程序名称。

在您的项目url.py中,尝试将
r'
替换为
r'^'
。前者匹配所有URL,而后者匹配字符串的开头。

。请尝试使用此参数而不是关键字参数。
from django.utils import timezone
from .models import AudioSample
from django.shortcuts import render, get_object_or_404

def post_list(request):
    samples = AudioSample.objects.order_by('length')
    return render(request, 'blog/post_list.html', {'samples': samples})

def post_detail(request, pk):
    post = get_object_or_404(AudioSample, pk=pk)
    return render(request, 'blog/post.html', {'post': post})
<a href="{% url 'post_detail' pk=post.pk %}">How to sample</a>