python - 网站运行正常但测试出错
问题描述
当网站运行良好时,我在测试中遇到此错误。控件是应用程序名称 有人可以建议在 url 或 html 行中进行一些更改
class TestUrls(SimpleTestCase):
def test_index_url_is_resolved(self):
url = reverse('index')
print(resolve(url))
我用它进行测试,它显示以下错误
ERROR: test_index_url_is_resolved (control.tests.test_urls.TestUrls)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/bhavya/Website/control/tests/test_urls.py", line 7, in test_index_url_is_resolved
url = reverse('index')
File "/usr/lib/python3/dist-packages/django/urls/base.py", line 90, in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/usr/lib/python3/dist-packages/django/urls/resolvers.py", line 673, in _reverse_with_prefix
raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'index' not found. 'index' is not a valid view function or pattern name.
----------------------------------------------------------------------
Ran 1 test in 0.003s
这是 index html 页面的链接
<a class="navbar-brand" href = "{% url 'control:index' %}">CCTV</a>
这是 urlpatterns
urlpatterns = [
#Control
url(r'^$',views.IndexView.as_view(),name='index'),
]
这是视图中的功能:
class IndexView(generic.ListView):
template_name = 'control/index.html'
# success_url = reverse_lazy('control:index')
def get_queryset(self):
return Camera.objects.all()
解决方案
我不知道这是否是问题所在,但如果您为您的应用使用名称,例如
app_name = "control"
那么您必须在传递给反向函数的字符串中包含此名称,如下所示:
url = reverse('control:index')
推荐阅读
- javascript - Discord Giveaway 机器人始终将机器人作为赢家
- python - 使用 BeautifulSoup Python 提取 id 的内容
- angular - 为什么 PrimeNG VirtualScroller loadingItem 不起作用?
- python - 如何在没有 Octave IDE 的情况下运行 Octave 代码(类似于 Python)?
- ffmpeg - 以更高的 FPS 重新流式传输 RTSP
- stanford-nlp - CoreNLP TrueCaseAnnotator 的 truecase.bias 没有任何效果
- javascript - How to trigger the processing of new values added to a vuex store?
- python - 如何用漂亮的汤测试一个项目是否存在于 XML 文件中?
- python-3.x - 使用 python 加载 bigquery 的 insert_rows_json 错误
- java - 内存泄漏:即使在使用 releasebody() 之后连接也不会被释放