python - [已解决]重写django中的auth,关于url的设置既可以是django.xx也可以是不带django.xx,效果一样?
ringa_lee
ringa_lee 2017-04-18 09:07:22
[Python讨论组]

django项目名字为seahub

项目结构如下:

虽然重写了auth,但是并不作为app好像,因为app列表里面没有写auth

在github上搜seahub,有源代码

ringa_lee
ringa_lee

ringa_lee

全部回复(5)
黄舟

重写后auth没有用这个url

怪我咯

谢邀

但若不应这么写,如何才能指向那个view呢?一般情况下,整个django项目只有django根目录在搜索路径中


这样写是为了复用django.contrib.auth原有的视图,毕竟人家做好的你没必要再做一遍

高洛峰

调用的是django库自带的auth模块,这个本身就是一个app模块,你可以看下django源码的contrib/auth/这个目录。

高洛峰

这个是由patterns的使用方法决定的:

  1. 传字符串
    需要保证字符串中的路径是可以被python import的。Django采用的是importlib中的import_module进行模块的动态导入。

  2. 传视图函数
    你的代码也可以写成如下格式:

from django.contrib.auth.views import login
urlpatterns = patterns('',
    (r'^login/$', login),
    # ...
)
怪我咯

auth 模块位于django.contrib.auth 路径下,所以需要这样导入。当然约定俗成的导入法一般是这样
from django.contrib.auth import views as auth_view

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号