Django 错误 u"'polls" 不是已注册的命名空间

2024-02-08

昨天我正在使用本教程开发我的第一个应用程序。这是一个民意调查和选择应用程序。 第一页显示问题,当您单击问题时,它会显示您可以对其进行投票的选项。

昨天有一些很棒的人帮助了我,并告诉我使用命名空间。我已阅读命名空间教程并尝试应用我的知识 到该场景,但到目前为止还不起作用。

这是我点击第一页的问题时出现的错误。

 NoReverseMatch at /polls/5/

 u"'polls" is not a registered namespace

 Request Method:    GET
 Request URL:   http://127.0.0.1:8000/polls/5/
 Django Version:    1.4.3
 Exception Type:    NoReverseMatch
 Exception Value:   

 u"'polls" is not a registered namespace

 Exception Location:    C:\hp\bin\Python\Lib\site-packages\django\template\defaulttags.py in render, line 424
 Python Executable:     C:\hp\bin\Python\python.exe
 Python Version:    2.5.2
 Python Path:   

 ['C:\\djcode\\mysite',
  'C:\\hp\\bin\\Python\\python25.zip',
  'C:\\hp\\bin\\Python\\DLLs',
  'C:\\hp\\bin\\Python\\lib',
  'C:\\hp\\bin\\Python\\lib\\plat-win',
  'C:\\hp\\bin\\Python\\lib\\lib-tk',
  'C:\\hp\\bin\\Python',
  'C:\\hp\\bin\\Python\\lib\\site-packages',
  'C:\\hp\\bin\\Python\\lib\\site-packages\\win32',
  'C:\\hp\\bin\\Python\\lib\\site-packages\\win32\\lib',
  'C:\\hp\\bin\\Python\\lib\\site-packages\\Pythonwin']

 Server time:   Fri, 15 Feb 2013 21:04:10 +1100
 Error during template rendering

 In template C:\djcode\mysite\myapp\templates\myapp\detail.html, error at line 5
 u"'polls" is not a registered namespace
 1  <h1>{{ poll.question }}</h1>
 2  
 3  {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
 4  
 5  {% url 'polls:vote' poll.id %}
 6  {% csrf_token %}
 7  {% for choice in poll.choice_set.all %}
 8  <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
 9  <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br />
 10     {% endfor %}
 11     <input type="submit" value="Vote" />
 12     </form>

现在我知道问题隐藏在detail.html、我的主url 和我的应用程序myapp URLCONF 和views.py 中

现在我的主要 URLconf 是: C:\djcode\mysite\mysite

 from django.conf.urls import patterns, include, url
 from django.contrib import admin
 from django.conf import settings
 # Uncomment the next two lines to enable the admin:
 # from django.contrib import admin
 admin.autodiscover()

 urlpatterns = patterns('',
     #url(r'^polls/', include('myapp.urls')),
     url(r'^polls/', include('myapp.urls', namespace='polls')),                   
     url(r'^admin/', include(admin.site.urls)),
 )

我的应用程序文件夹名为 myapp,这是 myapp URLconf: C:\djcode\mysite\myapp

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

 from django.conf.urls import patterns, include, url

 urlpatterns = patterns('myapp.views',
     url(r'^$', 'index'),
     url(r'^(?P<poll_id>\d+)/$', 'detail'),
     url(r'^(?P<poll_id>\d+)/results/$', 'results'),
     url(r'^(?P<poll_id>\d+)/vote/$', 'vote'),


)

myapp 中的views.py 是:

 from django.http import HttpResponse
 from myapp.models import Poll ,choice
 from django.template import Context, loader
 from django.http import Http404
 from django.shortcuts import render_to_response, get_object_or_404
 from django.template import RequestContext

 def index(request):
     latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
     return render_to_response('myapp/index.html', {'latest_poll_list': latest_poll_list})

 def results(request, poll_id):
     p = get_object_or_404(Poll, pk=poll_id)
     return render_to_response('myapp/results.html', {'poll': p})

 def vote(request, poll_id):
     p = get_object_or_404(Poll, pk=poll_id)
     try:
         selected_choice = p.choice_set.get(pk=request.POST['choice'])
     except (KeyError, Choice.DoesNotExist):
         # Redisplay the poll voting form.
         return render_to_response('myapp/detail.html', {
             'poll': p,
             'error_message': "You didn't select a choice.",
         }, context_instance=RequestContext(request))
     else:
         selected_choice.votes += 1
         selected_choice.save()
         # Always return an HttpResponseRedirect after successfully dealing
    # with POST data. This prevents data from being posted twice if a
         # user hits the Back button.
         return HttpResponseRedirect(reverse('myapp.views.results', args=(p.id,)))

 def detail(request, poll_id):
     p = get_object_or_404(Poll, pk=poll_id)
     return render_to_response('myapp/detail.html', {'poll': p},
                                context_instance=RequestContext(request))

我的详细信息.html C:\djcode\mysite\myapp\templates\myapp

 <h1>{{ poll.question }}</h1>

 {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}

 {% url 'polls:vote' poll.id %}
 {% csrf_token %}
 {% for choice in poll.choice_set.all %}
     <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
     <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br />
 {% endfor %}
 <input type="submit" value="Vote" />
 </form>

答案是将命名空间添加到根 URLconf 中。在 mysite/urls.py 文件(项目的 urls.py,而不是应用程序的)中,继续将其更改为包含命名空间:

urlpatterns = patterns('',
url(r'^polls/', include('polls.urls', namespace="polls")),
url(r'^admin/', include(admin.site.urls)),
)

此外,在本教程的第 3 部分中命名空间 URL 名称 https://docs.djangoproject.com/en/1.9/intro/tutorial03/#namespacing-url-names指某东西的用途app_name被提及为添加 polls 命名空间的可接受方式。您可以在您的polls/urls.py如下:

app_name = 'polls'
urlpatterns = [
    ...
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 错误 u"'polls" 不是已注册的命名空间 的相关文章

随机推荐

  • 与 Facebook Graph API 相关的问题

    实际上我正在使用该代码来获取 Facebook 帖子数据 Facebook CURL OPTS CURLOPT SSL VERIFYPEER false Facebook CURL OPTS CURLOPT SSL VERIFYHOST 2
  • 如何从environment.rb或初始化程序中强制RAILS_ENV=development?

    我们的主机不允许我们修改乘客配置文件 即 apache 配置或 vhosts 文件 但我们希望在开发模式下运行 Rails 因此 我们必须在应用程序重新启动时 Rails 加载的文件之一中指定环境 prod dev test 有人知道怎么做
  • 如何使用 Modernizr 测试第 n 个孩子?

    我正在尝试使用 Modernizr 来测试 nth child浏览器支持 但我不知道该怎么做 我找到了这个http jsfiddle net laustdeleuran 3rEVe http jsfiddle net laustdeleur
  • System.Timers.Timer (.NET) 真的很慢吗?

    我的印象是 System Timers Timer 创建自己的线程 并且 Microsoft 建议使用这种类型的计时器来执行更准确计时的任务 与在 UI 线程中运行的 Windows Forms Timer 相反 下面的代码 我认为 应该可
  • Service Worker 和网页之间的通信

    我正在开发一个应用程序 其目标是定期 例如每小时 向用户发送通知 我的想法是使用一个服务工作者 该服务工作者可以在选项卡关闭后运行 并继续向用户发送这些通知 网页需要能够与 Service Worker 沟通有关这些通知的具体细节 消息应该
  • 如何在Ubuntu下使用SVN 1.8和Eclipse?

    我们刚刚升级到SVN 1 8 不幸的是没有人想到我们 Linux 人 有没有办法将 Eclipse 连接到 SVN 1 8 的回购协议多米尼克 斯塔德勒 https launchpad net dominik stadler 多次提到升级到
  • 根据 Zingchart 中的列值进行多重绘图并更改线条颜色

    背景资料 我想将 gnuplot 图移植到 Zingchart 我添加了 gnuplot 源代码以更好地解释我的目标 reset set autoscale set term canvas rounded solid butt size 1
  • 如何在 Cloud Run 上部署 Typescript 项目

    Cloud Run error The user provided container failed to start and listen on the port defined provided by the PORT 8080 env
  • 选择随机记录并在一个查询中更新相同记录?

    我正在开发一个小型横幅旋转脚本 该脚本从数据库加载随机横幅 我正在跟踪数据库中的印象 想知道是否可以选择随机记录并在单个查询中更新其印象值 或者我是否需要选择随机记录 然后根据记录 pk 进行更新 使用MySQL 这无法在单个查询中完成 最
  • 限制 Django 表中的行数

    我的模型文件中有一个表 我想将其设计为表中的行数限制为十行 当超过限制时 最旧的行将被删除 对于某些上下文 这是前端的显示 向用户显示他们最近访问过的十个链接 我是 Django 新手 所以如果有人对如何做到这一点有建议 我将不胜感激 你可
  • elf 格式的可执行文件和可重定位文件有什么区别?

    elf 格式的可执行文件和 elf 格式的可重定位文件有什么区别 如您所知 每个编译后的可执行文件都是具有相对地址和绝对地址的二进制文件 因此可重定位格式是一种格式 其中函数和其他符号仍然具有名称定义 换句话说 函数和变量不绑定到任何特定地
  • 如何在 IntelliJ IDEA 13(或 WebStorm)上远程运行 mocha 测试?

    IntelliJ IDEA 13 通过 Node js 插件对 Mocha 测试提供了非常出色的支持 https www jetbrains com idea webhelp running mocha unit tests html ht
  • python udp客户端超时机制

    如果服务器套接字中生成的兰特数小于4 我的客户端套接字将暂停接收数据 我需要设置超时机制以允许客户端套接字检测到 超时 然后继续发送消息 在我运行服务器套接字然后运行客户端套接字后 出现以下错误消息 Traceback most recen
  • FirebaseTableViewDataSource 在用户注销和登录时崩溃

    我的应用程序有一个 UITableViewController 它使用 FirebaseTableViewDataSource 来自 FirebaseUI 该表正确显示了用户添加书签的帖子 但是当我注销该用户并登录另一个用户时 应用程序崩溃
  • JAVA 无法从另一个类中绘制到 JFrame 上

    我知道这是我的错误 我的问题是为什么这不起作用我错过了什么我可以称之为我把它放在一个方法而不是一个类所以我假设他们的第三个类有问题 第 1 类 package assignment pkg1 java import java awt Col
  • 打开模态表单,其中包含从另一个 ngx-formly 表单从 ngx-formly 创建的表单

    我目前正在使用 ngx formly 从 JSON 动态创建一堆 Angular 表单 效果非常好 我有一个特殊的用例 其中表单上的自定义按钮应该在单击时打开一个包含另一个表单的模式对话框 该对话框还包含使用 ngx formly 创建的表
  • 推送通知 - 使用 SceneDelegate 在通知点击时推送 ViewController

    在 iOS 13 之前 导航控制器和根视图是在 AppDelegate 中定义的 然而 在 iOS 13 中 Apple 引入了 SceneDelegate 它接管了这些视图函数的处理 然而 AppDelegate 仍然处理诸如本地通知处理
  • 在 akka.net actor{} 表达式中等待 F# 异步任务

    是否可以在 Akka Net actor 计算中等待 不阻塞 Async 我想实现类似于以下内容的目标 actor let msg mailbox Receive match msg with Foo gt let x async Retu
  • 为什么在缩小大框时仍然出现滚动条?

    简单来说 我试图使用 CSS 变换属性将一个大框 当浏览器全屏时使用 缩放为一个较小的框 该框已正确缩放 但浏览器仍显示滚动条 就好像未缩放一样 我不想关闭溢出 我希望我错过了一些东西 我的问题的一个小提琴 注意垂直滚动条 http jsf
  • Django 错误 u"'polls" 不是已注册的命名空间

    昨天我正在使用本教程开发我的第一个应用程序 这是一个民意调查和选择应用程序 第一页显示问题 当您单击问题时 它会显示您可以对其进行投票的选项 昨天有一些很棒的人帮助了我 并告诉我使用命名空间 我已阅读命名空间教程并尝试应用我的知识 到该场景