索引处的NoReverseMatch/

2024-03-28 11:07:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经经历了所有类似的问题,我没有得到任何进展,我已经通过了Djanggirls和Officel Django教程,据我所知,它应该是工作。你知道吗

投票/模板中/索引.html我有这个文件:

[...]
{% if forms %}
    <ul>
        {% for form in forms %}
            <li>
                <h1><a href="{% url 'form_detail' pk=form.pk %}">
                    {{ form.fname }}
                </a></h1>
                [...]

在我的民意测验中/网址.py我有这个文件:

from django.conf.urls import url
from . import views

app_name = 'polls'
urlpatterns = [
    [...]
    url(r'^index/$', 'polls.views.site_index'),
    [...]
    url(r'^form/(?P<pk>\d+)/$', views.form_detail, name='form_detail'),
    [...]

在我的民意测验中/视图.py我有这个文件:

from django.shortcuts import render, render_to_response, redirect, get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect
from django.core.context_processors import csrf
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from .models import Nform, Choice, Question, Post
from django.template import loader
from django.utils import timezone
from django.views import generic
from django.contrib import auth
from django.db import models
from .form import PostForm

def site_index(request):
    forms = Nform.objects.order_by('-published_date')
    return render_to_response('polls/index.html', {'forms': forms})


def form_detail(request, pk):
    current_form = get_object_or_404(Nform, pk=pk)
    fame = current_form.fname
    latest_question_list = Question.objects.filter(for_form=fame).order_by('-pub_date')
    choice_quest_list = []
    text_quest_list = []
    form = PostForm()
    for i in range(len(latest_question_list)):
        if len(latest_question_list[i].choice_set.all()) == 0:
            text_quest_list.append(latest_question_list[i])
        else:
            choice_quest_list.append(latest_question_list[i])
    return render(request, 'polls/read_only.html', {'choice_quest_list': choice_quest_list, 'text_quest_list': text_quest_list, 'form_name': fame, 'form': form})
[...]

我假设我在某个地方犯了一个非常简单的错误,我将非常感谢任何发现它的人。你知道吗

请参见issue获取图片。你知道吗

Here是指向我的代码的链接。你知道吗

谢谢:)


Tags: djangofromimportformurlformslatestviews
1条回答
网友
1楼 · 发布于 2024-03-28 11:07:44

这是因为您在应用程序中定义了一个名为app_name的变量网址.py. 你知道吗

当您定义该变量时,它将成为您的url命名空间。你知道吗

你要么像这样反转你的网址:

<h1><a href="{% url 'polls:form_detail' pk=form.pk %}">

或者删除app\u name变量以直接使用url名称。你知道吗

阅读更多关于reversing url names @ django-docs

相关问题 更多 >