回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在Django(v3.2)应用程序中的不同模板之间导航时遇到了困难。该应用程序名为“管理汇款”。
应用程序的默认登录页(使用template<em>manage_Migration/templates/manage_Migration/view_Migration.html</em>)应显示项目列表(列表目前不相关),并且在该列表顶部应有一个链接,指向同一应用程序中的另一个页面,该页面允许向列表中添加新项目</p>
<p>首先调用的表单如下所示:
管理汇款/模板/管理汇款/查看汇款.html</p>
<pre><code>{% 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>
</code></pre>
<p>我希望能够访问另一个模板(<em>manage_-embication/templates/manage_-embication/embication\u-add.html</em>),但是<code>{{ remittance_add }}</code>没有任何值</p>
<p>此外,当我在a href(见上文)中指定html文件的确切名称(migration_add.html)并单击该文件时,会出现以下错误:</p>
<pre><code>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.
</code></pre>
<p>我做错了什么</p>
<p>项目的URL.py片段:</p>
<pre><code>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'
]
</code></pre>
<p>URL.py位于管理_汇款应用程序:</p>
<pre><code>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'),
]
</code></pre>
<p>manage_汇款应用程序中的views.py:</p>
<pre><code>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'
</code></pre>