django中{%url'somenamedurl'%}形式的命名网址无法正常工作

时间:2014-05-15 06:36:27

标签: python django

之前名为url的工作,我放了另一个django项目并安装了几个像pyjasper等的包。我的坏我没有做virtualenv。

现在另一个项目并不重要。我使用的当前版本的django是1.6.2。 我无法追踪错误。

它表示错误呈现

SyntaxError at /dashboard/
invalid syntax (views.py, line 7)

模板渲染期间出错 在模板D:\ djangoprojects \ prmanager \ templates \ menu.html中,第3行出错

1   {% load static %}
2   <li class="active">
3       <a href="{% url 'dashboard' %}">
4           <i class="fa fa-dashboard"></i> <span>Dashboard</span>
5       </a>
6   </li>
7   
8   <li class="treeview">
9       <a href="#">
10          <i class="fa fa-folder"></i> <span>Work Orders</span>
11          <i class="fa fa-angle-left pull-right"></i>
12      </a>
13      <ul class="treeview-menu">

注意第3行。我尝试用引号命名它们而没有。

无法找到它所说的views.py。因为在仪表板应用中,views.py

中没有第7行

有人可以对在哪里寻找错误提出一些建议。如果此信息不充分,请告诉我,我会发布相同的信息。

我所知道的是,之前的工作是什么,停止了工作。

编辑 urls.py

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'prmanager.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^dashboard/', include('dashboard.urls')),

    url(r'^materials/', include('materials.urls')),
    url(r'^suppliers/', include('suppliers.urls')),
    url(r'^purchaserequest/', include('purchaserequest.urls')),
    url(r'^purchaseorder/', include('purchaseorder.urls'), name="purchaseorder"),
    url(r'^admin/', include(admin.site.urls)),

    url(r'^getSuppliersJson/', 'commontools.tools.getSuppliersJson', name="getSuppliersJson"),
    url(r'^getPOJson/', 'commontools.tools.getPOJson', name="getPOJson"),


) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

信息中心应用的urls.py

from django.conf.urls import patterns, url

urlpatterns = patterns('dashboard.views',   
    url(r'^$', 'dashboard', name="dashboard"),
    #url(r'^newpurchaserequest/', 'newpurchaserequest', name="newpurchaserequest"),
)

2 个答案:

答案 0 :(得分:2)

您已经放置了错误

SyntaxError at /dashboard/
invalid syntax (views.py, line 7)

问题出现在第7行的views.py文件中。

<强>更新

您包含了信息中心urls.py,但同时您使用了$。它不匹配下一个子模式。

是的,现在问题在这里url(r'^dashboard/$', include('dashboard.urls')),使用此url(r'^dashboard/', include('dashboard.urls')),

应用配置就是这样,

在root urls.py中:

urlpatterns = patterns('',

    url(r'^dashboard/', include('dashboard.urls')),
)

在信息中心应用中:

在urls.py中:

urlpatterns = patterns('dashboard.views',   
    url(r'^$', 'dashboard', name="dashboard"),
)

在views.py中:

def dashboard(request):
    context = {}
    return render(request, 'dashboard/dashboard.html', context)

答案 1 :(得分:0)

您应该使用以下语法:

{% url 'dashboard' as dashboard_url %}
<a href="{{ dashboard_url }}">Link</a>