我正在使用Django开发基于商店的身份验证系统,我试图让它成为指定用户尝试登录的商店的网址。例如
login/store-name
然后将用户登录到请求的商店。我的问题是,有没有办法使用django的内置登录表单/机制来完成此操作,或者我必须创建自己的登录表单和视图。
答案 0 :(得分:1)
我认为你可以在urls.py
中做到这一点urlpatterns = patterns('',
url(r'^login/store-name-1/$', login, name="login"),
url(r'^login/store-name-2/$', login, name="login"),
url(r'^accounts/logout/$', logout, {'next_page': '/',}, name='logout')
)
我不清楚你想做什么?
答案 1 :(得分:1)
如果您想为每个商店单独登录,则需要自定义登录表单,因为django auth软件包将创建对您的所有商店都通用的用户。
答案 2 :(得分:1)
在我看来,您应该创建自己的表单并login view:
from django.contrib.auth import authenticate, login
def my_view(request):
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active *** and user can login in this store ***:
login(request, user)
# Redirect to a success page.
else:
# Return a 'disabled account' error message
else:
# Return an 'invalid login' error message.
“并且用户可以在此商店登录”:从请求中获取路径并进行检查。