尝试启动服务器并获得以下异常(启动服务器会导致polls / index.html页面):
django.urls.exceptions.NoReverseMatch:反向'详细'用 参数'(1,)'未找到。尝试过1种模式: [ '$(ΔP[0-9] +)']
如果我从index.html删除以下行,则会删除错误。但我不知道问题是什么。甚至ide也会提示当前数据。发现类似的问题,其中问题的参数数量不正确,而不是这种情况。请帮忙。
错误行:
{% for q in latest_question_list %}
<li><a href="{% url 'polls:detail' q.id %}">{{ q.question_text }}</a></li>
{% endfor %}
的index.html
app_name = 'polls'
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^(?P<question_id>[0-9]+)', views.detail, name='detail'),
]
urls.py(在民意调查应用程序文件夹中)
def index(request):
latest_question_list = Question.objects.order_by('pub_date')[:5]
context = {'latest_question_list': latest_question_list}
return render(request, 'polls/index.html', context)
def detail(request, question_id):
return HttpResponse(question_id)
views.py
urlpatterns = [
url(r'^$', include('polls.urls')),
url(r'^admin/', admin.site.urls),
url(r'^polls/', include('polls.urls'))
]
urls.py(主要)
export const formatDollar = (dollar) => {
const format = function moneyFormat(val, sign = '$ ') {
const pieces = parseFloat(val).toFixed(2).split('');
let ii = pieces.length - 3;
while ((ii -= 3) > 0) {
pieces.splice(ii, 0, ',');
}
return sign + pieces.join('');
};
return format(dollar);
};
答案 0 :(得分:3)
您已使用停止字符$(urls.py - main)
将您的投票网址包含在正则表达式中highlight
这样就没有可能实现以下正则表达式
url(r'^$', include('polls.urls'))
如果您仍想显示民意调查索引作为您的索引网站,请从行
中删除$ ['$(?P[0-9]+)']
此外,您有2个相同名称空间的包含,并使用它的第一个捕获(索引)
如果您更改了民意调查网址的名称空间,您甚至可以看到此内容
url(r'^', include('polls.urls'))
并使用namespaced include作为测试:详细信息(这应该可行,但我仍然建议您合并要包含投票URL的位置