0

我正在使用 Django 开发基于商店的身份验证系统,我正在尝试使其成为指定用户尝试登录的商店的 URL。例如

login/store-name

然后将用户登录到请求的商店。我的问题是,有没有办法使用 django 的内置登录表单/机制来做到这一点,或者我必须创建自己的登录表单和视图。

4

3 回答 3

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')
)

我不太清楚你想做什么?

于 2011-11-08T22:26:39.367 回答
1

如果您想为每个商店单独登录,则需要自定义登录表单,因为 django auth 包将创建所有商店通用的用户。

于 2011-11-08T23:15:22.877 回答
1

在我看来,您应该创建自己的表单和登录视图

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.

“并且用户可以登录这个商店”:从请求中获取路径并检查它。

于 2011-11-09T08:49:30.703 回答