我必须在我的django网站上登录。 index.html
和books.html
我在第一页中有books.html
的链接
<a href="books.html">books</a>
这个用于books.html
以便返回第一页。
<a href="index.html">Home</a>
我的网址就像这样
urlpatterns = patterns('',
url(r'^$', 'mysite.views.home', name='home'),
url(r'^books.html/$', 'mysite.views.bookpage', name='books'),
url(r'index.html/$', 'mysite.views.home', name='home'),
)
和views.py
def home(request):
return render_to_response('index.html')
def bookpage(request):
return render_to_response('books.html')
当我点击第二个链接回家。我的网址就像这样
mysite.com/books.html/index.html/
如果点击mysite.com/
中的第二个链接,如何将网址更改回books.html
?
抱歉,如果标题不合适。我不知道我的问题标题是什么
更新
我已从我的网址格式中删除了url(r'^index.html/$', 'mysite.views.home', name='home')
,并在第二页中使用了<a href="{% url 'home' %}">
。但是当我点击该链接时没有任何反应
答案 0 :(得分:3)
<a href="anything.html">
。您应该使用url
模板标记作为页面地址。有关url
模板标记的更多信息,请访问:https://docs.djangoproject.com/en/1.7/ref/templates/builtins/#url 示例:<a href="{% url 'home' %}">
在您的urls.py中,您有^books.html/$
和index.html/$
。注意索引之前缺少^
?您可能想要添加它。
不要在urls.py中为不同的模式使用相同的名称。
答案 1 :(得分:3)
其他答案中遗漏了两个问题:
^
:url(r'^index.html/$', 'azahra.views.home', name='home'),
name='home'
的网址。其中一个应该改变。如上所述,您还应该使用{% url 'url_name' %}
template tags,而不是在模板中进行硬编码。
此外,除非您的应用程序实际上名为mysite
,否则您需要更改它以引用您的实际视图......
答案 2 :(得分:2)
您错过了^
:
urlpatterns = patterns('',
url(r'^$', 'mysite.views.home', name='home'),
url(r'^books.html/$', 'azahra.views.bookpage', name='books'),
url(r'^index.html/$', 'azahra.views.home', name='home'),
)
查看url
模板标记 - 它会简化模板中的网址路由,让您远离这些类型的错误。