我正在使用 Django 开发基于商店的身份验证系统,我正在尝试使其成为指定用户尝试登录的商店的 URL。例如
login/store-name
然后将用户登录到请求的商店。我的问题是,有没有办法使用 django 的内置登录表单/机制来做到这一点,或者我必须创建自己的登录表单和视图。
我正在使用 Django 开发基于商店的身份验证系统,我正在尝试使其成为指定用户尝试登录的商店的 URL。例如
login/store-name
然后将用户登录到请求的商店。我的问题是,有没有办法使用 django 的内置登录表单/机制来做到这一点,或者我必须创建自己的登录表单和视图。
我认为您可以在 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')
)
我不太清楚你想做什么?
如果您想为每个商店单独登录,则需要自定义登录表单,因为 django auth 包将创建所有商店通用的用户。
在我看来,您应该创建自己的表单和登录视图:
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.
“并且用户可以登录这个商店”:从请求中获取路径并检查它。