Django Allauth和网址 - python

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

我的网站是“ dev.my.domain.com”。目的是在此站点的生产版本上不存在任何“公开”信息。生产版本将称为:“ members.my.domain.com”。因此,我想知道“ allauth”插件是否有可能让所有非/ adomn入站请求都检查auth?

因此,要求:

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文档,并使用其默认的urls设置:

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。

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

如何从Django模型生成文档? - python

目前,我们将Sphinx用于项目文档和Django模型字段描述。主要问题是:更改模型后,我们手动更新了Sphinx文档,有时会忘记/错过文档中的某些字段。有一些用于基于Django模型生成文档的工具吗? 参考方案 documentation说: Django的文件使用Sphinx文件系统, 转是基于docutils的。基本思想是格式化 纯文本文档已转换为HT…

django-compressor未与django-shop一起安装 - python

我无法使用django-shop安装django-compressor。出现这样的错误。Failed building wheel for rcssmin ================================= Failed building wheel for rjsmin -----------------------------------…

如何在Django中获取视图函数的URL路径 - python

举个例子:view.pydef view1( request ): return HttpResponse( "just a test..." ) urls.pyurlpatterns = patterns('', url( r'^view1$', 'app1.view.view1…

Django表单;使用ModelForm覆盖选择 - python

我想做的是根据页面隐藏或显示一些选择。例如,models.pyUSA = 'usa' FRANCE = 'france' CHINA = 'china' GERMANY = 'germany' SPAIN = 'spain' TOPICS = ( (USA, …

将Django博客项目集成到HTML网站中 - python

我有一个经常使用HTML5,CSS3,JQUERY和静态图像的网站。我也有一个用Django编写的Blog,我想将其集成到网站中。我对Django真的很陌生,所以我想知道哪种方法是最好的使用方法。我应该将网站代码集成为Django项目的一部分,还是有其他解决方案?谢谢! 参考方案 您有2种方法将当前站点与Django集成。1)您可以使用API编写Django…