【问题标题】:Cannot move URL to import URL in Django无法移动 URL 以在 Django 中导入 URL
【发布时间】:2020-02-01 00:20:00
【问题描述】:

django 2.2.5

到目前为止,我在移动网址时没有遇到任何问题。

reporting/reporting.html(索引):

...
{% url "line_chart_json" %}
...

reporting/views.py

class LineChartJSONView(BaseLineChartView):
    def get_labels(self):
        """Return 7 labels for the x-axis."""
        return ["January", "February", "March", "April", "May", "June", "July"]
    ....

当它在主应用程序 url.py 中时,就可以了

from django.urls import path, include
from reporting.views import LineChartJSONView
urlpatterns = [
    ...
    path('reporting/', include('reporting.urls')),
    path('line_chart/json/', LineChartJSONView.as_view(),
          name='line_chart_json'),
]

当我将其移至报告时

from django.urls import path
from . import views
from .views import LineChartJSONView

app_name = 'reporting'
urlpatterns = [
    path('', views.summary_properties_user,
         name='index'),
    path('line_chart/json/', LineChartJSONView.as_view(),
         name='line_chart_json'),
]

我在reporting.html上使用它时收到一个错误:

NoReverseMatch at /reporting/
Reverse for 'line_chart_json' not found. 'line_chart_json' is not a valid view function or pattern name.

我假设一个简单的疏忽。仅仅几周后,Django URL 仍然让我印象深刻。

【问题讨论】:

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


    【解决方案1】:

    它现在在报告应用程序中,所以你需要前缀:

    {% url "reporting:line_chart_json" %}
    

    【讨论】:

    • 谢谢。结果我确实尝试过,但可能我缓存了一些东西,或者没有正确重置我的其他更改。我想我在某个时候重新窃听了自己的尾巴。谢谢。
    猜你喜欢
    • 2022-01-17
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 2015-01-29
    • 1970-01-01
    • 2013-09-19
    • 2020-09-03
    相关资源
    最近更新 更多