python - 未找到“display_data”的反向。“display_data”不是有效的视图函数或模式名称
问题描述
尝试加载主页时出现以下错误:
Reverse for 'display_data' not found. 'display_data' is not a valid view function or pattern name
我的views.py文件如下:
def home(request):
#query_results = QRC_DB.objects.all()
return render(request, 'display_data.html')
def display_data(request,component):
#query_results = QRC_DB.objects.all()
return HttpResponse("You're looking at the component %s." % component)
我的app下的urls.py文件如下:
from django.urls import path
from fusioncharts import views
urlpatterns = [
path('home/', views.home, name=''),
]
项目下的urls.py文件如下:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('fusioncharts.urls'))
]
而我的html文件(display_data)代码如下:
{% block content %}
<h3>Display the test results</h3>
<div id="container" style="width: 75%;">
<canvas id="display-data"></canvas>
<li><a href="{% url 'display_data' 'SQL' %}">SQL</a></li>
</div>
{% endblock %}
谁能帮我找出错误?
谢谢。
解决方案
您的urls.py
文件不包含任何display_data
.
当您尝试单击 HTML 标记中呈现的链接时,即
<li><a href="{% url 'display_data' 'SQL' %}">SQL</a></li>
它试图解析 URL display_data
。
首先,它检查根urls.py
文件。其中:
path('admin/', admin.site.urls),
path('', include('fusioncharts.urls'))
它与第二个匹配。然后它加载fusioncharts.urls
但fusioncharts.urls
不包含任何 URL display_data
。这就是您收到错误的原因。
该urls.py
文件应该是这样的:
from django.urls import path
from fusioncharts import views
urlpatterns = [
path('home/', views.home, name=''),
path('display_data/<str:arg>', views.display_data, name='display_data'),
]
推荐阅读
- java - 如何通过 SDK Java 在 AWS API Gateway 中启用 CORS
- powershell - 一次将对象数组添加到 PSObject
- python - GroupBy 结果到列表字典(具有多列)
- c++ - 这是 C++ 中带有指针的数组的一个很好的使用/代码吗?
- excel - 从较大的二维数组创建二维数组
- javascript - 使用 Array.prototype.includes 定位对象数组中的属性
- php - 自定义帖子类型获取 URL 循环短代码
- python - 我在 Spyder (Anaconda) 中的 ipython 控制台没有选择正确的 Windows 系统 PATH 环境变量
- javascript - d3.js - 对由数组控制的 .key 的调用次数
- javascript - 根据 parameterName 获取 parameterDescription