San*_*der 6 django django-authentication django-syncdb
因为我正在使用自己的身份验证和授权系统(使用我自己的用户/权限模型),所以我想完全禁用此标准应用程序Django.
我试着从删除相关的行MIDDLEWARE_CLASSES和
INSTALLED_APPS,但是当我使用的执行syncdb命令,仍然被创建来使用默认的验证系统中的默认表.有没有办法防止这种情况发生?我的主要问题是标准表覆盖了我想用于我自己的auth系统的表.
INSTALLED_APPS = (
'django.contrib.sessions',
'form_utils',
'org',
'auth',
'entities',
)
Run Code Online (Sandbox Code Playgroud)
我也试过用项目包预先添加应用程序,这没有任何效果.
可能还有另一种我忽视的环境吗?尽管我努力,可能导致这些标准应用程序启用的其他可能变量?
我也没有使用内置的管理系统,所以我认为这不是一个问题.
附加信息:我最近将Django 1.2升级到1.3.这可能是我问题的原因吗?
编辑:显然,这个问题是由Django 1.3的变化引起的.相关的门票在这里:http://code.djangoproject.com/ticket/15735
任何提示?
小智 6
我相信RequestContext正在引入身份验证模块.
默认情况下,设置TEMPLATE_CONTEXT_PROCESSORS包括django.contrib.auth.context_processors.auth.
我没有django创建auth数据库表的问题,但它是在我的上下文中插入一个AnonymousUser对象而在'user'键下我的会话,即使我从我的INSTALLED_APPS和MIDDLEWARE_CLASSES设置中删除了auth模块.
我从TEMPLATE_CONTEXT_PROCESSORS中删除了该项目,事情开始按照我期望的方式工作.
在你的情况下从1.2升级到1.3可能意味着你开始使用基于类的通用视图(这很棒),或者你可能开始使用RequestContext而不是普通的上下文dicts.无论哪种方式,似乎当auth作为上下文处理器给出时,django表现得好像auth在你安装的应用程序中,无论你是否真的想要它.
我希望这是有帮助的.
| 归档时间: |
|
| 查看次数: |
4645 次 |
| 最近记录: |