姜戈。网址找不到视图

Posted

技术标签:

【中文标题】姜戈。网址找不到视图【英文标题】:Django. Url cant find view 【发布时间】:2021-03-05 10:25:57 【问题描述】:

当我尝试打开另一个视图时,我需要有关 % url (url to template) % 的帮助,但我看到了 NoRewerseMatch 错误。

这是我的 html 文件:

% load static %
<head>
    <link href='% static "navbar_style.css" %' rel="stylesheet", type="text/css">
</head>
<header>
    <nav class="headlist">
--->    <a href='% url "home" %'><img id = "img1" src="% static 'logo.png' %" ></a>
        <ul>
            <li><a href="#">O nas</a></li>
            <li><a href="#">Kontakt</a></li>
            <li><a>Zajęcia</a></li>
        </ul>
    </nav>
</header>

我的应用(页面)/urls.py

from django.contrib import admin
from django.urls import path
from . import views
app_name = 'pages'
urlpatterns = [
    path('', views.home_view, name='home_view'),
    path('index/', views.index_view, name='index_view'),
]

views.py

import...

# Create your views here.
def home_view(request):
    listoftexts = Text.objects.order_by('-pub_date')
    context = 
        'listoftexts': listoftexts
    
    return render(request, 'pages/home.html', context)
def index_view(request):
    listoftexts = Text.objects.order_by('-pub_date')
    context = 
        'listoftexts': listoftexts
    
    return render(request, 'pages/index.html', context)

【问题讨论】:

【参考方案1】:
<a href='% url "pages:home_view" %'><img id = "img1" src="% static 'logo.png' %" ></a>

你可以这样做。

【讨论】:

【参考方案2】:

视图的名称是home_view:

path('', views.home_view<b>, name='home_view'</b>),

因此您可以将% url … % template tag [Django-doc] 用于:

&lt;a href="% url <b>'home_view'</b> %"&gt;

如果您在urls.py 中使用app_name,您还需要在url 中添加前缀:

&lt;a href="% url <b>'pages:home_view'</b> %"&gt;

【讨论】:

【参考方案3】:

url_name 应该是 home_view 而不是 homepath 函数中的 name 参数用于引用视图。

【讨论】:

以上是关于姜戈。网址找不到视图的主要内容,如果未能解决你的问题,请参考以下文章

FxCop 自定义规则文档。为啥找不到我的网址?

找不到对象!在此服务器上找不到请求的 URL。如果您手动输入网址,请检查您的拼写并重试

.htaccess ModRewrite:找不到网址

网址重写规则错误:在此服务器上找不到请求的网址

VueJS背景图像网址找不到路径

Rails 4.1 Elastic Beanstalk 找不到图片网址