【问题标题】:Django Url does not workDjango 网址不起作用
【发布时间】:2015-03-26 19:25:42
【问题描述】:

我正在尝试获取渲染图像的视图的 url,以便我可以在带有 href 的 img 标记中使用它。 但我的{% url viewname object_id %} 不工作。具体如下:

我的 urls.py:

hydrourlpatterns = patterns('',

    url(r'^graphs/$','hydro.views.graphs',name='graphs'),
    url(r'^graphs/new/$', 'hydro.views.add_graph', name='add_graph'),
    url(r'^graphs/(?P<graph_id>\d+?)/$', 'hydro.views.single_graph', name='graph_detail'),
    url(r'^graphs/graphImage/(?P<graph_id>\d+?)/$', 'hydro.views.render_graph', name='graphImage')



)

我的模板(url: localhost/graphs/(graph_id)/):

{% extends "subpage.django" %}
{% block content %}

{% if graph %}
    <h3> {{ graph.name }} </h3>
    <h1> {% url 'graphImage' graph_id %} </h1>
{% endif %}


{% endblock  %}

我不断收到的错误是 ViewDoesNotExsist。

Could not import hydro.views.add_site. 
View does not exist in module hydro.views.

【问题讨论】:

  • 当我转到链接或硬编码它的工作网址时。所以我不认为这是我的观点,除非我的论点不匹配
  • 我试过只打印出

    {% url 'someviewname' %}

    的 url,但它不起作用。你知道如何为测试目的显示一个 url 变量吗?这会很有帮助
  • add_site 是什么?是py文件,还是方法?

标签: django django-templates django-views django-urls


【解决方案1】:

您在urls.py 的其他位置使用hydro.views.add_site。评论此 url 行或在 hydro.views 中创建 add_site 视图。

编辑:您没有将graph_id 变量传递给模板,因此将{% url %} 调用更改为:

{% url 'graphImage' graph.id %}

【讨论】:

  • 我有一个 add_site 视图,我不知道为什么会出现我有正确的语法,这就像一堆 url。
  • 请显示add_site 代码和整个urls.py
  • 由于工作敏感,无法显示 add_site。但是做了一些其他的事情,现在我们有这个错误:NoRevereMatch Reverse for 'graphImage' with arguments '('',)' and keyword arguments '{}' not found。尝试了 1 种模式:['graphs/graphImage/(?P\\d+?)/$']
  • 我假设它是我的graphImage的url路径。还是不知道怎么解决
  • 非常感谢,我一直感到困惑,因为有时它需要 graph_id 或 graph.id。它有效!
猜你喜欢
  • 2018-09-18
  • 2014-01-10
  • 2020-01-22
  • 2019-01-19
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
相关资源
最近更新 更多