django-registration 1.0与Django 1.6和Python 3.3.4 [英] django-registration 1.0 with Django 1.6 and Python 3.3.4

查看:441
本文介绍了django-registration 1.0与Django 1.6和Python 3.3.4的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用django-registration 1.0将Django 1.4中称为课程的webapp升级到1.6。没有其他的django注册线程似乎有任何与这个问题有关。



我正在运行单元测试通过python manage.py测试课程崩溃与跟踪:

 > /home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/transaction.py(449)commit_on_success()
- > warnings.warn(commit_on_success不赞成使用原子,
(Pdb)c
追溯(最近的最后一次调用):
文件manage.py,第11行, < module>
execute_from_command_line(sys.argv)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/__init__.py ,行399,在execute_from_command_line
utility.execute()
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/__init__.py ,行392,执行
self.fetch_command(子命令).run_from_argv(self.argv)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/ django / core / management / commands / test.py,第50行,在run_from_argv
super(Command,self).run_from_argv(argv)
文件/home/chris/.virtualenvs/blanket/lib /python3.3/site-packages/django/core/management/base.py,第242行,在run_from_argv
self.execute(* args,** options .__ dict__)
文件/ home /chris/.virtua lenvs / blanket / lib / python3.3 / site-packages / django / core / management / commands / test.py,第71行,执行
super(Command,self).execute(* args,**选项)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/base.py,第285行,执行
output = self.handle(* args,** options)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/commands/test.py,第88行,在句柄
failures = test_runner.run_tests(test_labels)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/test/runner.py ,第145行,run_tests
old_config = self.setup_databases()
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/test/runner。 py,第107行,在setup_databases中
return setup_databases(self.verbosity,self.interactive,** kwargs)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site -packages / django / test / runner.py,第27行9,在setup_databases
verbosity,autoclobber = not interactive)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/backends/creation.py ,第339行,在create_test_db
load_initial_data = False)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/__init__.py ,第159行,在call_command
中返回klass.execute(* args,** defaults)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django /core/management/base.py,第284行,执行
self.validate()
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/ django / core / management / base.py,第310行验证
num_errors = get_validation_errors(s,app)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/ get_app_errors()中的(app_name,error)的get_validation_errors
中的第34行URL / django / core / management / validation.pyitem():
文件/ home / chris / 。虚拟envs / blanket / lib / python3.3 / site-packages / django / db / models / loading.py,第196行,get_app_errors
self._populate()
文件/ home / chris /第75行,在_populate
self.load_app(app_name,True)
文件//// django / db / models / home / chris / .virtualenvs / blanket / lib / python3.3 / site-packages / django / db / models / loading.py,第99行,load_app
models = import_module('%s.models'% app_name)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/importlib/__init__.py,第90行,import_module
返回_bootstrap._gcd_import(name [level:] ,包,级别)
文件< frozen importlib._bootstrap>,第1584行,在_gcd_import
文件< frozen importlib._bootstrap>,第1565行,_find_and_load
文件< frozen importlib._bootstrap>,第1532行,在_find_and_load_unlocked
文件< frozen importlib._bootstrap>中,第584行在_check_name_wrapper
文件< ; freeze importlib._bootstrap>,1022行,load_module
文件< frozen importlib._bootstrap>,第1003行,load_module
文件< frozen importlib._bootstrap,第560行,module_for_loader_wrapper
文件< frozen importlib._bootstrap>,第868行,_load_module
文件< frozen importlib._bootstrap>,第313行,_call_with_frames_removed
文件/ home / chris / .virtualenvs / blanket / lib / python3.3 / site-packages / registration / models.py,第28行,< module>
class RegistrationManager(models.Manager):
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/registration/models.py,第94行在RegistrationManager中
create_inactive_user = transaction.commit_on_success(create_inactive_user)
文件/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/transaction.py,第449行,在commit_on_success
warnings.warn(commit_on_success被弃用为有利于原子,
PendingDeprecationWarning:commit_on_success不赞成使用原子

我从/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/transaction.py(449)中删除了一个pdb会话)commit_on_success()。加强两个堆栈帧,这是从site-packages / registration / models.py(28) - > RegistrationManager(models.Manager)的第28行调用的。



有没有人试图使用django-registration 1.0与Django 1.6,并看到这个失败è?



以下是设置/目录供参考:
base.py:

 EduDuck项目的$ Django设置 

import os
import django
from django.conf import global_settings

DEBUG = False

#get路径名前面的其他设置
DJANGO_ROOT = os.path.dirname(os.path.realpath(django .__ file__))

SITE_ROOT = os.path.join(os.path.dirname( __file__),
os.path.pardir,
os.path.pardir)

#用户个人资料模型
AUTH_PROFILE_MODULE ='bio.Bio'
LOGIN_REDIRECT_URL ='/ courses /'

#http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
TIME_ZONE ='UTC'

#http:/ /www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE ='en-gb'

#https://docs.djangoproject.com/en/dev/ref/ contrib / sites /?from = olddocs
SITE_ID = 1

#如果将其设置为False,Django将进行一些优化,以便
#加载国际化机制。
USE_I18N = True

#如果将其设置为False,Django将不会根据当前语言环境格式设置日期,数字和
#日历。
USE_L10N = True

#如果将其设置为False,Django将不会使用时区感知数据时间。
USE_TZ = True

#将保存用户上传文件的目录的绝对文件系统路径。
#示例:/home/media/media.lawrence.com/media/
MEDIA_ROOT = os.path.join(SITE_ROOT,'media /')

#处理从MEDIA_ROOT提供的媒体的网址。确保使用
#尾部斜线。
#示例:http://media.lawrence.com/media/,http://example.com/media/
MEDIA_URL ='/ media /'

#目录静态文件的绝对路径应该被收集到。
#不要把任何东西放在这个目录下;在应用程序的static /子目录和STATICFILES_DIRS中存储静态文件
#。
#示例:/home/media/media.lawrence.com/static/
STATIC_ROOT ='/ var / www / static /'

#静态的URL前缀文件。
#示例:http://media.lawrence.com/static/
STATIC_URL ='/ static /'
#静态文件的其他位置

STATICFILES_DIRS =(
os.path.join(SITE_ROOT,'static /'),


#知道如何在$ b $中找到静态文件的finder类列表b#各个位置。
STATICFILES_FINDERS =(
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#'django.contrib.staticfiles .finders.DefaultStorageFinder',


#知道如何从各种来源导入模板的可调用列表。
TEMPLATE_LOADERS =(
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
#'django.template.loaders .eggs.Loader',


TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS +(
'core.context_processors.git_branch_render',
'core.context_processors.show_survey_link'


MIDDLEWARE_CLASSES =(
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
#取消注释下一个线为简单的劫持保护:
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'core.middleware.TimezoneMiddleware',


ROOT_URLCO NF ='EduDuck.urls'

#Django的runserver使用的WSGI应用程序的Python虚线路径。
WSGI_APPLICATION ='EduDuck.wsgi.application'

#TODO:确保模板不在用于生产版本的$ doc
TEMPLATE_DIRS =(
os.path.join (SITE_ROOT,'templates'),
#将字符串放在这里,如/ home / html / django_templates或C:/ www / django / templates
#始终使用正斜杠,
#不要忘记使用绝对路径,而不是相对路径


#django注册https://bitbucket.org/ubernostrum/django-registration
#这允许新用户7天激活新帐户
ACCOUNT_ACTIVATION_DAYS = 7
#设置以下为False以禁用注册。
REGISTRATION_OPEN = True

INSTALLED_APPS =(
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
#取消注释下一行启用管理员:
'django.contrib.admin',
#取消注释下一行以启用管理员文档:
#'django.contrib.admindocs',

#暂时禁用haystack - '六'包/捆绑冲突?
#django-haystack via elastsearch后端
#'haystack',

#以下提供帐户激活通过电子邮件通过django-registration
'registration',

#eduduck apps
'courses',
'quiz',
'support',
'bio',
'interaction',
'outcome',
'attachment',


#S ee http://django-haystack.readthedocs.org/en/latest/tutorial.html#simple
#并在staging.py和production.py
中覆盖此值HAYSTACK_CONNECTIONS = {
'默认':{
'ENGINE':'haystack.backends.simple_backend.SimpleEngine',
},
#this只是在这里,因为我无法让python manage.py读取这个config(通过wsgi处理)
#use通过python manage.py rebuild_index --using ='forcron'
'forcron':{
'ENGINE':'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine ',
'URL':'http://127.0.0.1:9200/',
'INDEX_NAME':'haystack',
},
}

#有关如何自定义日志配置的详细信息,请参阅http://docs.djangoproject.com/en/dev/topics/logging for
#。
LOGGING = {
'version':1,
'disable_existing_loggers':False,
'formatters':{
'simple':{
'格式':'%(levelname)s%(message)s'
},
'standard':{
'format':[%(asctime)s]%(levelname) s [%(name)s:%(lineno)s]%(message)s,
'datefmt':%d /%b /%Y%H:%M:%S
$,
},
'filters':{
'require_debug_false':{
'()':'django.utils.log.RequireDebugFalse'
} ,
#TODO取消注释当在Django 1.5
#'require_debug_true':{
#'()':'django.utils.log.RequireDebugTrue'
#}
},
'处理程序':{
'null':{
'level':'DEBUG',
'class':'django.utils.log.NullHandler' ,
},
'mail_admins':{
'level':'ERROR',
'filters':['require_debug_false'],
'class':'django.utils.log.AdminEmailHandler'
},
' log_file':{
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename':'/tmp/eduduck.log',
'maxBytes':10 * 2 ** 20,#10 MB
'backupCount':5,
'formatter':'standard',
},
' log_filedb':{
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename':'/tmp/eduduck_db.log',
'maxBytes':10 * 2 ** 20,#10 MB
'backupCount':5,
'formatter':'standard',
},
'控制台':{
'level':'ERROR',
class':'logging.StreamHandler',
'formatter':'standard',
},
},
'loggers':{
'django.request ':{
'handlers':['mail_admins'],
'level':'ERROR',
'propagate':True,
},
' ':{
'handlers':['log_file','console'],
'level':'DEBUG',
'propagate':True,
},
'django.db.backends':{
'handlers':['log_filedb','console'],
'propagate':False,
'level':'DEBUG ',
},
}
}

和dev。 py

 #settings / dev.py 
from .base import *

DEBUG = True
TEMPLATE_DEBUG = DEBUG
TEMPLATE_STRING_IF_INVALID ='INVALID_EXPRESSION:%s'

#django-re取消需要MTA。对于开发只需使用控制台
#smtp是默认的,所以在prod.py中,EMAIL_BACKEND被注释掉或丢失
EMAIL_BACKEND ='django.core.mail.backends.console.EmailBackend'

#INSTALLED_APPS + =(debug_toolbar)
#INTERNAL_IPS =(127.0.0.1,)
#MIDDLEWARE_CLASSES + =(debug_toolbar.middleware.DebugToolbarMiddleware,)

DATABASES = {
'default':{
'ENGINE':'mysql.connector.django',
'NAME':'ed_dev',
' USER':'ed_dev',
'PASSWORD':'quickquackquock',
'HOST':'',
'PORT':'',
},
#以下是在登台服务器上重新启动数据库(最好是
#get python manage.py读取staging.py配置,而不是在这里。
#'mysql_sync':{
#'ENGINE':'django.db.backends.mysql',
#'HOST': '',
#'NAME':'eduduck',
#'USER':'如果你需要重新同步,把它放回来',
#'PORT':'2369',
#'PASSWORD':如果你需要重新同步,把它放回来,
#'OPTIONS':{
#'init_command':'SET storage_engine = INNODB',
# },
#},
}

#非常秘密SECRET_KEY。只为开发商分期制作使用env var。
SECRET_KEY ='paranoid'

#夹具目录 - 用于开发目的,在更改模型后重新加载测试数据
#。
FIXTURE_DIRS =(
os.path.join(SITE_ROOT,'fixtures /')

提前感谢

解决方案

django注册不支持Python 3.
使用django-allauth。



你可以在这里找到很多关于django-allauth的信息: https://pypi.python.org/pypi/django-allauth



希望这有帮助。 >

I'm trying to upgrade a webapp called courses from Django 1.4 to 1.6 with django-registration 1.0. None of the other django-registration threads seem to have anything relating to this problem.

I'm running unit-tests via python manage.py test courses which crashes with the following trace:

> /home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/transaction.py(449)commit_on_success()
-> warnings.warn("commit_on_success is deprecated in favor of atomic.",
(Pdb) c
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/commands/test.py", line 71, in execute
    super(Command, self).execute(*args, **options)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/commands/test.py", line 88, in handle
    failures = test_runner.run_tests(test_labels)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/test/runner.py", line 145, in run_tests
    old_config = self.setup_databases()
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/test/runner.py", line 107, in setup_databases
    return setup_databases(self.verbosity, self.interactive, **kwargs)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/test/runner.py", line 279, in setup_databases
    verbosity, autoclobber=not interactive)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/backends/creation.py", line 339, in create_test_db
    load_initial_data=False)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/__init__.py", line 159, in call_command
    return klass.execute(*args, **defaults)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/base.py", line 284, in execute
    self.validate()
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/base.py", line 310, in validate
    num_errors = get_validation_errors(s, app)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/core/management/validation.py", line 34, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/models/loading.py", line 196, in get_app_errors
    self._populate()
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/models/loading.py", line 75, in _populate
    self.load_app(app_name, True)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/models/loading.py", line 99, in load_app
    models = import_module('%s.models' % app_name)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/registration/models.py", line 28, in <module>
    class RegistrationManager(models.Manager):
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/registration/models.py", line 94, in RegistrationManager
    create_inactive_user = transaction.commit_on_success(create_inactive_user)
  File "/home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/transaction.py", line 449, in commit_on_success
    warnings.warn("commit_on_success is deprecated in favor of atomic.",
PendingDeprecationWarning: commit_on_success is deprecated in favor of atomic.

I dropped into a pdb session from /home/chris/.virtualenvs/blanket/lib/python3.3/site-packages/django/db/transaction.py(449)commit_on_success(). Stepping up two stack frames, this has been called from line 28 of site-packages/registration/models.py(28) -> class RegistrationManager(models.Manager)

Has anyone else tried to use django-registration 1.0 with Django 1.6 and seen this failure?

Here is the settings/ directory for reference: base.py:

# Django settings for EduDuck project.

import os
import django
from django.conf import global_settings

DEBUG = False

#get the path name to prepend to other settings
DJANGO_ROOT = os.path.dirname(os.path.realpath(django.__file__))

SITE_ROOT = os.path.join(os.path.dirname(__file__), 
                                         os.path.pardir, 
                                         os.path.pardir)

# User Profile model 
AUTH_PROFILE_MODULE = 'bio.Bio'
LOGIN_REDIRECT_URL = '/courses/'

# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
TIME_ZONE = 'UTC'

# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-gb'

#https://docs.djangoproject.com/en/dev/ref/contrib/sites/?from=olddocs
SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = True

# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = os.path.join(SITE_ROOT, 'media/')

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/media/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = '/var/www/static/'

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
# Additional locations of static files

STATICFILES_DIRS = (
    os.path.join(SITE_ROOT, 'static/'),
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
#     'django.template.loaders.eggs.Loader',
)

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    'core.context_processors.git_branch_render',
    'core.context_processors.show_survey_link',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'core.middleware.TimezoneMiddleware',
)

ROOT_URLCONF = 'EduDuck.urls'

# Python dotted path to the WSGI application used by Django's runserver.
WSGI_APPLICATION = 'EduDuck.wsgi.application'

#TODO: Ensure templates aren't under docroot for production version
TEMPLATE_DIRS = (
    os.path.join(SITE_ROOT, 'templates'),
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

#django-registration https://bitbucket.org/ubernostrum/django-registration
#This allows new users 7 days to activate new accounts
ACCOUNT_ACTIVATION_DAYS = 7
#Set following to False to disable registration.
REGISTRATION_OPEN = True

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',

    #Temporarily disabling haystack - 'six' package/bundled conflict?
    #django-haystack via elasticsearch backend
    #'haystack',

    #following provides account activation via email via django-registration
    'registration',

    #eduduck apps
    'courses',
    'quiz',
    'support',
    'bio',
    'interaction',
    'outcome',
    'attachment',
)

# See http://django-haystack.readthedocs.org/en/latest/tutorial.html#simple
# and override this in staging.py and production.py
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.simple_backend.SimpleEngine',
    },
#this is only here since I can't get python manage.py to read this config (handled via wsgi)
#use via python manage.py rebuild_index --using='forcron'
    'forcron': {
        'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
        'URL': 'http://127.0.0.1:9200/',
        'INDEX_NAME': 'haystack',
    },
}

# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(message)s'
            },
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
            },
        },
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        },
#TODO uncomment when on Django 1.5
#        'require_debug_true': {
#            '()': 'django.utils.log.RequireDebugTrue'
#        }
    },
    'handlers': {
        'null': {
            'level': 'DEBUG',
            'class': 'django.utils.log.NullHandler',
        },
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'log_file': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/tmp/eduduck.log',
            'maxBytes': 10*2**20, #10 MB
            'backupCount': 5,
            'formatter': 'standard',
        },
        'log_filedb': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/tmp/eduduck_db.log',
            'maxBytes': 10*2**20, #10 MB
            'backupCount': 5,
            'formatter': 'standard',
        },
        'console': {
            'level': 'ERROR',
            'class': 'logging.StreamHandler',
            'formatter': 'standard',
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        '': {
            'handlers': ['log_file', 'console'],
            'level': 'DEBUG',
            'propagate': True,
        },
        'django.db.backends': {
            'handlers': ['log_filedb', 'console'],
            'propagate': False,
            'level': 'DEBUG',
        },
    }
}

and dev.py

#settings/dev.py
from .base import *

DEBUG = True
TEMPLATE_DEBUG = DEBUG
TEMPLATE_STRING_IF_INVALID = 'INVALID_EXPRESSION: %s'

#django-registration needs an MTA. For development just use console
#smtp is the default, so in prod.py, EMAIL_BACKEND is commented out or missing
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

#INSTALLED_APPS += ("debug_toolbar", )
#INTERNAL_IPS = ("127.0.0.1", )
#MIDDLEWARE_CLASSES += ("debug_toolbar.middleware.DebugToolbarMiddleware",)

DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME': 'ed_dev',
        'USER': 'ed_dev',                    
        'PASSWORD': 'quickquackquock',                 
        'HOST': '',
        'PORT': '',
    },
# following is for resyncing database on staging server (would be better to 
# get python manage.py to read the staging.py config, as opposed to having this here.
#    'mysql_sync': {
#        'ENGINE': 'django.db.backends.mysql',
#        'HOST': '',
#   'NAME': 'eduduck',
#   'USER': 'put it back if you need to resync',
#   'PORT': '2369',
#   'PASSWORD': "put it back if you need to resync",
#        'OPTIONS': {
#            'init_command': 'SET storage_engine=INNODB',
#        },
#    },
}

#Not very secret SECRET_KEY. Just for dev. Staging and prod. use env var.
SECRET_KEY = 'paranoid'

# Fixture Directory - for development purposes, reloading test data
# after changes to models.
FIXTURE_DIRS = (
    os.path.join(SITE_ROOT, 'fixtures/')
)

Thanks in advance,

解决方案

django-registration doesn't support Python 3. Use django-allauth instead.

You can find much about django-allauth here: https://pypi.python.org/pypi/django-allauth

Hope this helps.

这篇关于django-registration 1.0与Django 1.6和Python 3.3.4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆