gpt4 book ai didi

python - Django Allauth 和 url

转载 作者:行者123 更新时间:2023-12-02 03:51:49 27 4
gpt4 key购买 nike

我有一个用于测试 Django 的开发环境。我正在“本地”pyenv 安装中运行 Python 3.5.2。我有 Django 1.10.2。我昨天发现了 allauth 注册插件,并一直在使用它,但遇到了障碍。

我的网站是“dev.my.domain.com”。目的是本网站的生产版本不会有任何“公开”信息。生产版本的名称类似于:“members.my.domain.com”。所以,我想知道“allauth”插件是否可以让所有非/adomn 入站请求检查身份验证?

因此,请求:

  • dev.my.domain.com
  • dev.my.domain.com/foo
  • dev.my.domain.com/foo/../bar/...

应该全部检查身份验证。如果不存在,那么我假设“allauth”将重定向到登录/注册页面。

我尝试将 Members/urls.py 文件设置为:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
url(r'^$', include('allauth.urls')),
url(r'^admin/', admin.site.urls),
]

但是会出现“找不到页面”错误和“DEBUG”消息:

    Using the URLconf defined in Members.urls, Django tried these URL patterns, in this order:
^$ ^ ^signup/$ [name='account_signup']
^$ ^ ^login/$ [name='account_login']
^$ ^ ^logout/$ [name='account_logout']
^$ ^ ^password/change/$ [name='account_change_password']
^$ ^ ^password/set/$ [name='account_set_password']
^$ ^ ^inactive/$ [name='account_inactive']
^$ ^ ^email/$ [name='account_email']
^$ ^ ^confirm-email/$ [name='account_email_verification_sent']
^$ ^ ^confirm-email/(?P<key>[-:\w]+)/$ [name='account_confirm_email']
^$ ^ ^password/reset/$ [name='account_reset_password']
^$ ^ ^password/reset/done/$ [name='account_reset_password_done']
^$ ^ ^password/reset/key/(?P<uidb36>[0-9A-Za-z]+)-(?P<key>.+)/$ [name='account_reset_password_from_key']
^$ ^ ^password/reset/key/done/$ [name='account_reset_password_from_key_done']
^$ ^social/
^$ ^google/
^$ ^facebook/
^$ ^facebook/login/token/$ [name='facebook_login_by_token']
^admin/
The current URL, , didn't match any of these.

我屈服于我的无知,回到 allauth 文档并使用他们的默认 url 设置:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
url(r'^accounts/', include('allauth.urls')),
url(r'^admin/', admin.site.urls),
]

但也会出现“找不到页面”和不同的消息:

    Using the URLconf defined in Members.urls, Django tried these URL patterns, in this order:
^accounts/
^admin/
The current URL, , didn't match any of these.

我认为“allauth”安装的其余部分已正确完成,但我缺少一些东西。

想法?

最佳答案

在您的 view.py 文件中,您只需要在放弃页面之前进行一些“过滤”即可查看用户是否已通过身份验证。

一个例子是:

def myview(request):
if request.user.is_authenticated:
# do something if the user is authenticated, like showing a page.
else:
# do somthing else

重新分级 url 结构 - 只需尝试将/accounts/添加到 url,如果您处于 Debug模式 (DEBUG = True),404 页面将显示所有端点。您还可以在文档中找到端点的所有 URL。

希望我正确理解你的问题:)

关于python - Django Allauth 和 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40034300/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com