jjzjj

python - django-allauth配置疑惑

coder 2023-08-25 原文

我正在使用 django-allauth使用 Django 1.5.1,在设置时我有几个问题:

<强>1。配置urls.py

文档说您必须将以下内容添加到 urls.py 文件中:

urlpatterns = patterns('',
    ...
    (r'^accounts/', include('allauth.urls')),
    ...
)

问题是我已经有一个名为 accounts 的自定义应用程序并且我已经使用了以下 URL 模式:

(r'^accounts/', include('accounts.urls')),

所以我在这里与 accounts/ 正则表达式 URL 发生命名冲突。我的问题是:我可以将 allauth URL 模式重命名为 (r'^auth/', include('allauth.urls')) 而不会出现问题吗?这样做不安全,最好将我自己的 URL 重命名为 (r'^users/', include('users.urls')) (并将我的帐户应用程序重命名为 users为了命名的一致性)。

<强>2。自定义 allauth 默认模板

自定义登录等默认模板的正确方法是什么?我认为直接修改库不是最好的方法。我想这应该通过 templates 目录使用一些具体的目录层次结构来完成。另外,我不知道在覆盖这些模板时是否必须提供某种 base.html 文件来扩展,或者网站的 base.html 所有页面都可以扩展可以毫无问题地使用。你能用这个举例说明吗?

<强>3。管理员登录表单在第一次访问时显示登录和注销

当我在登录和注销后访问管理面板时,会出现历史记录,但如果我刷新页面,它就会消失。我认为这一定与 django 消息有关:

<强>4。设置 SOCIALACCOUNT_PROVIDERS

名为 SOCIALACCOUNT_PROVIDERS 的字典设置是可选的还是必须设置?

<强>5。用户使用第三方应用登录时,密码是如何计算的?

当用户创建时它有一个密码,但它是如何计算的?并且...它有用还是只是此必填字段的占位符?用户可以使用它来本地登录吗?

谢谢!

最佳答案

关于 1):

  • 只要完全匹配的 URL 模式没有重叠,就不会发生冲突。例如:如果您的帐户应用程序匹配“/accounts/login/”,那么确实存在冲突,因为 allauth 也在寻找该 URL。但是,如果您的帐户应用只是匹配其他以/accounts/作为前缀的 URL,那么您就没问题。

  • 如果您坚持,您确实可以将 allauth URL 放在不同的路径下。 allauth 使用基于名称的 URL 反转,因此将自动选取新的路径前缀。

至于2):

3): allauth 使用 Django 消息框架。看: https://docs.djangoproject.com/en/dev/ref/contrib/messages/#expiration-of-messages -- 如果您不迭代消息以显示它们,它们就不会过期。所以显然你没有在你的模板中显示消息。因此,他们堆积起来,直到管理员出现呈现(并清除)到目前为止收集的所有消息......

4)可选

5) 没有设置密码,也就是说,用户只能使用第 3 方帐户登录,直到他真正设置了密码 (/accounts/password/set/)。

关于python - django-allauth配置疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16817157/

有关python - django-allauth配置疑惑的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  3. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  4. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  5. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  6. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  7. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  8. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  9. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  10. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

随机推荐