我正在尝试做的简要描述是我试图通过点击'rates.html'网页上的徽标来访问我的'home.html'网页(存在于家庭应用程序中)它存在于费率应用程序上),我试图实现这一点的方式如下。
我在这里看了其他类似的问题,他们似乎都忘记在代码的appname \ urls.py部分指定命名空间部分。我觉得我已经在urls.py中正确指定了app_name ='[namespace]'。
它显示的特定错误的确切错误是:
使用参数'()'和未找到关键字参数'{}'来反转'home'。尝试了0种模式:[]
错误突出显示'rate.html'上的一行html代码:
<div id="logoholder">
<a href="**{% url 'getrate:home' %}**"><img src="{%static
'home/images/transparentWatermark.png' %}" width="40" height="40"
style="margin:5px 10px"></a>
</div>
的getRate \ urls.py:
from django.conf.urls import url, include
from . import views
app_name = 'getrate'
urlpatterns = [
url(r'^$', views.ViewRate, name='rate'),
url(r'^home/', include('home.urls', namespace='home')),
]
家\ urls.py
from django.conf.urls import url, include
from . import views
app_name = 'home'
urlpatterns = [
url(r'^$', views.ViewHome, name='home'),
]
mysite的\ urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^home/', include('home.urls', namespace='home')),
url(r'^getrate/', include('getrate.urls', namespace='getrate')),
]
我必须解释错误的是rate.html有一个我可以点击的公司徽标,它通过{%url'getrate:home'%}触发getrate \ urls.py。 getrate \ urls.py代码中包含home \ urls.py。触发此部分,因为它在该行代码上具有名称空间home。现在它通过home \ urls.py查看并最终结束其正则表达式匹配。让我知道我的错误。
感谢您的时间。
答案 0 :(得分:0)
虽然答案解决了直接问题,但它没有实现我试图执行的功能(这是重定向到另一个应用程序的html页面)。我没有正确理解的是网址工作流程。我想从你使用url的任何一个应用程序,它首先通过该应用程序的urls.py代码,而不是主网站urls.py代码。
实际工作流程来自mysite / urls.py - &gt; (如果导入和使用包括库) - &gt; app1 / urls.py - &gt; app2 / urls.py - &gt;应用程序#/ urls.py。所以总是从主urls.py
开始由于对此概念的误解,我的错误是试图将每个app的每个urls.py代码链接到彼此,从而导致各种错误,无限循环等。