2

在完成 Django 中的投票教程之后,我一直在学习 Django CMS 教程。一切似乎都在 Django 中完美运行,但是,当我在遵循http://docs.django-cms.org/en/latest/extending_cms/extending_examples.html#之后尝试在 Django-CMS 中运行新页面时,我坚持我遇到的问题

NoReverseMatch at /polls/
u'polls' is not a registered namespace

1   <h1>Question available here</h1>
2   {% if latest_poll_list %}
3       <ul>
4       {% for poll in latest_poll_list %}
5           <li><a href="{% url 'polls:detail' poll.id %}">{{ poll.question }}</a>      </li>
6       {% endfor %}
7       </ul>
8   {% else %}
9       <p>No polls are available.</p>
10  {% endif %}

因此,那里的模板似乎无法识别民意调查。

所以问题是:

  1. django-cms 教程是否与 django 教程不同步?
  2. 如果是命名空间的问题,我怎么能用 django-cms 的方式放置一个命名空间呢?我一直在尝试将 app_name 属性放入 cms_app.py 但它仍然无法正常工作..
  3. 在学习本教程时,我被要求创建一个新模板,我假设它名为 plugin.html,因为

    render_template = "polls/plugin.html"
    

    但是当我查看堆栈跟踪时,该文件仍在 index.html 中查找。所以... plugin.html 的用途是什么?

4

1 回答 1

0

所以我通过重新添加来让它工作:

    (r'^polls/', include('polls.urls')) in the main urls.py

我不确定为什么必须这样做,因为教程明确给出了删除该行的指令。但是,也许这与这个问题有关https://github.com/divio/django-cms/issues/1858

我正在使用 django 1.5 版和 django-cms 3.0.0beta

于 2013-09-01T18:02:49.640 回答