什么行不通:如果我使用domain.tld/main
创建链接(例如在href="#"
上),我会将链接显示为domain.tld/main#
而不是我希望它像domain.tld/main/#
一样。我想要一致性,因为它显示在我的索引页面上,没有url子目录为domain.tld/#
。
配置:
urls.py
urlpatterns = [
url(r'^$', views.UserLogin),
url(r'^logout$', 'django.contrib.auth.views.logout', {'next_page':'/'}),
url(r'^main$', views.Main),
]
views.py
def Main(request):
if not request.user.is_authenticated():
return HttpResponseRedirect("http://www.domain.tld")
else:
return render(request, "main")
答案 0 :(得分:5)
你真正能够获得预期斜线的唯一方法就是你一直把它包含在网址中
url(r'^main/$', views.Main),
因此,您必须做出决定,以确定这是否可以接受。 #
的主要目的只是滚动到页面顶部
您可以在this question
中详细了解相关内容答案 1 :(得分:1)
现在的工作方式是默认方式。 {ur}中保留'#'
符号作为片段标识符的分隔符,因此它不指向站点的目录,只是添加到当前路径。
为什么它在索引页面的情况下正常工作的原因是无法更改您的域名 - '#'
无法直接添加到www.domain.tld
,只能通过斜杠符号。