gpt4 book ai didi

python - Django - 链接到同一项目中不同应用程序的网址

转载 作者:太空宇宙 更新时间:2023-11-04 02:48:06 24 4
gpt4 key购买 nike

我正在制作一个包含多个应用程序和多个 urls.py 文件的 Django 项目。我正在尝试将一个用于用户帐户的应用程序添加到一个项目中,该项目包含用于商店、购物车和订单的应用程序。具体来说,我想将帐户/页面链接回商店

主要 urls.py:

urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^account/', include('account.urls')),
url(r'^cart/', include('cart.urls', namespace='cart')),
url(r'^orders/', include('orders.urls', namespace='orders')),
url(r'^', include('shop.urls', namespace='shop')),
]

帐户的 urls.py/:

urlpatterns = [

url(r'^login/$', 'django.contrib.auth.views.login', name='login'),
url(r'^logout/$', 'django.contrib.auth.views.logout', name='logout'),
url(r'^logout-then-login/$', 'django.contrib.auth.views.logout_then_login',name='logout_then_login'),
url(r'^register/$', views.register, name='register'),
url(r'^$', views.dashboard, name='dashboard'),

]

这是我用于帐户页面的模板

{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
<link href="{% static "css/base.css" %}" rel="stylesheet">
</head>
<body>
<div id="header">
<span class="logo">Rachel's Stuff</span>

{% if request.user.is_authenticated %}
<ul class="menu">
<li {% if section == "dashboard" %}class="selected"{% endif %}>
<a href="{% url "dashboard" %}">My dashboard</a>
</li>
<li {% if section == "images" %}class="selected"{% endif %}>
<a href="{% url 'shop' %}">Home</a>
</li>
<li {% if section == "people" %}class="selected"{% endif %}>
<a href="#">People</a>
</li>
</ul>
{% endif %}

<span class="user">
{% if request.user.is_authenticated %}
Hello {{ request.user.first_name }},
<a href="{% url "logout" %}">Logout</a>
{% else %}
<a href="{% url "login" %}">Log-in</a>
{% endif %}
</span>
</div>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
</html>

在这里,我想从 127.0.0.1:8000/account/链接回 http://127.0.0.1:8000 ,默认为主要店面:

<li {% if section == "images" %}class="selected"{% endif %}>
<a href="{% url 'shop' %}">Home</a>
</li>

但是我得到一个错误:

Reverse for 'shop' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

Request Method: GET

Request URL: http://127.0.0.1:8000/account/

Django Version: 1.8.6

Exception Type: NoReverseMatch

Exception Value:
Reverse for 'shop' with arguments '()' and keyword arguments '{}' not >found. 0 pattern(s) tried: []

当我已经在帐户命名空间中时,如何链接回主商店页面 (127.0.0.1:8000/)?对不起,如果我用错了任何术语。

最佳答案

您使用错误的网址名称 ( shop ) 进行反向操作。看看shop/urls.py文件并查看 ^$ 的实际名称小路。由于已经定义了命名空间,因此应将其反转为 shop:<your url name here> .

关于python - Django - 链接到同一项目中不同应用程序的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44597436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com