使用django-registration时,网址让我有点困惑
说我希望我的inidex页面localhost:8000成为登录页面,但是django-registration的登录url有一个/ login前缀,我是否必须将/ login放在我的网址中
url(r'^/login/$', include('registration.backends.default.urls')),
在这种情况下,localhost:8000将为空,表示在部署此项目后,表示像something.com一样的URL将为空。
如何将索引页面设置为实际的django-registration登录页面
答案 0 :(得分:0)
不是没有,您需要在希望用户进行身份验证的视图中包含@login_required装饰器,例如。
# views.py
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
@login_required
def index(request):
return HttpResponse('Only registers will see this page')
# now you can add the stuff that you would want only the registered users to view,
# so basically if a new visitors tries to visit your site say at www.abc.com, he will first be redirected to the www.abc.com/login/ where he needs to create an account, once authenticated, he will then be redirected to the index page
参考django-registration, registration and login form on index page together, did I do it right?
答案 1 :(得分:0)
不知道这是解决问题的最佳方法,但我想你可以进入django-registration(registration.auth_urls.py)并编辑登录网址,以便它改为r'^ $' of r'^ login / $'。这通常不是最好的做法,但应该有效。
答案 2 :(得分:0)
如果您希望实际的www.example.com成为登录页面,请执行以下操作:
url(r'^$', include('registration.backends.default.urls')),
如果您希望您的登录页面有自己的页面,请执行以下操作:
url(r'^/login/$', include('registration.backends.default.urls')),
因此,当您访问www.example.com/login时,它将转到登录页面。