繁体   English   中英

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

[英]named urls of the form {%url 'somenamedurl' %} in django not working

之前名为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行

有人可以在哪里寻找bug。 如果此信息不充分,请告诉我,我会发布相同的信息。

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

编辑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"),
)

你已经放错了,

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)

您应该使用以下语法:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM