我在Django(v3.2)应用程序中的不同模板之间导航时遇到了困难。该应用程序名为“管理汇款”。 应用程序的默认登录页(使用templatemanage_Migration/templates/manage_Migration/view_Migration.html)应显示项目列表(列表目前不相关),并且在该列表顶部应有一个链接,指向同一应用程序中的另一个页面,该页面允许向列表中添加新项目
首先调用的表单如下所示: 管理汇款/模板/管理汇款/查看汇款.html
{% extends "root.html" %}
{% load static %}
{% load crispy_forms_tags %}
{% url 'manage_remittance:remittance_add' as remittance_add %}
{% block title %}
VIEW REMITTANCES PAGE
{% endblock title %}
{% block content %}
<div class="list-group col-6">
<a href="{{ remittance_add }}" class="list-group-item list-group-item-action shadow-mt list-group-flush list-group-item-dark text-light">Click here to add remittance data</a>
</div>
我希望能够访问另一个模板(manage_-embication/templates/manage_-embication/embication\u-add.html),但是{{ remittance_add }}
没有任何值
此外,当我在a href(见上文)中指定html文件的确切名称(migration_add.html)并单击该文件时,会出现以下错误:
Using the URLconf defined in sanctions_project.urls, Django tried these URL patterns, in this order:
admin/
[name='login']
login/ [name='login']
logout/ [name='logout']
manage_remittance/ [name='view_remittance']
manage_remittance/ remittance_add/ [name='create_remittance']
^static/(?P<path>.*)$
^media/(?P<path>.*)$
The current path, manage_remittance/remittance_add.html, didn’t match any of these.
我做错了什么
项目的URL.py片段:
urlpatterns = [
path('admin/', admin.site.urls),
path('', login_view, name='login'),
path('login/', login_view, name='login'),
path('logout/', logout_view, name='logout'),
path('manage_remittance/', include('manage_remittance.urls')), # namespace='manage_remittance'
]
URL.py位于管理_汇款应用程序:
from .views import (
CreateRemittanceInfo,
RemittanceListView
)
app_name = 'manage_remittance'
urlpatterns = [
path('', RemittanceListView.as_view(), name='view_remittance'),
path('remittance_add/', CreateRemittanceInfo.as_view(), name='create_remittance'),
]
manage_汇款应用程序中的views.py:
from django.shortcuts import render, get_object_or_404
from django.urls import reverse
from django.views.generic import ListView
from django.views.generic.edit import CreateView
from django.contrib.auth.mixins import LoginRequiredMixin
from .models import Remittance
class CreateRemittanceInfo(LoginRequiredMixin, CreateView):
model = Remittance
fields = ['remittance_text']
template_name_suffix = '_add'
class RemittanceListView(ListView):
model = Remittance
template_name = 'manage_remittance/view_remittance.html'
看起来很简单:在模板中,应该显示一个列表,但事实并非如此。看看Django用户指南:https://docs.djangoproject.com/fr/3.2/ref/class-based-views/generic-display/
应该是这样的
您的URL中似乎存在一个问题:
name
与不匹配相关问题 更多 >
编程相关推荐