Django错误大汇总

1.安装django报错解决方案  

找到第一条报错信息:
  File "c:userschenweienvs estvir2libsite-packagespipasecommand.py", line 215, in main status = self.run(options, args)    
  出错原因:UnicodeEncodeError: 'ascii' codec can't encode character u'u258f' in position 8: ordinal not in range(128)
  在报错文件:c:userschenweienvs estvir2libsite-packagespipasecommand.py 中加如下代码:

import sys
reload(sys)                         
sys.setdefaultencoding('gbk')   

2.错误2:RuntimeError: maximum recursion depth exceeded

解决方案:
    To fix the problem replace this (about line 56 in pythonLibfuctools.py):
        convert = {
        '__lt__': [('__gt__', lambda self, other: other < self),
                   ('__le__', lambda self, other: not other < self),
                   ('__ge__', lambda self, other: not self < other)],
        '__le__': [('__ge__', lambda self, other: other <= self),
                   ('__lt__', lambda self, other: not other <= self),
                   ('__gt__', lambda self, other: not self <= other)],
        '__gt__': [('__lt__', lambda self, other: other > self),
                   ('__ge__', lambda self, other: not other > self),
                   ('__le__', lambda self, other: not self > other)],
        '__ge__': [('__le__', lambda self, other: other >= self),
                   ('__gt__', lambda self, other: not other >= self),
                   ('__lt__', lambda self, other: not self >= other)]
    }
    to that:
        convert = {
        '__lt__': [('__gt__', lambda self, other: not (self < other or self == other)),
                   ('__le__', lambda self, other: self < other or self == other),
                   ('__ge__', lambda self, other: not self < other)],
        '__le__': [('__ge__', lambda self, other: not self <= other or self == other),
                   ('__lt__', lambda self, other: self <= other and not self == other),
                   ('__gt__', lambda self, other: not self <= other)],
        '__gt__': [('__lt__', lambda self, other: not (self > other or self == other)),
                   ('__ge__', lambda self, other: self > other or self == other),
                   ('__le__', lambda self, other: not self > other)],
        '__ge__': [('__le__', lambda self, other: (not self >= other) or self == other),
                   ('__gt__', lambda self, other: self >= other and not self == other),
                   ('__lt__', lambda self, other: not self >= other)]
    }

3.在python中run manage.py 链接数据库报错:No name mysqlDB

解决方案:pip install mysql-python

4.安装mysql-python报错

错误提示:
    error: command '"C:UserschenweiAppDataLocalProgramsCommonMicrosoftVisual C++ for Python9.0VCBinamd64cl.exe"' failed with exit status2

解决方案:
    http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python下载对应的包版本

    pip2 install MySQL_python-1.2.5-cp27-none-win_amd64.whl
    注意:cp27说明要用python2.7来安装,所以要用pip2

5.执行python2 manage.py runserver 0.0.0.0:8000出错

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:Python27libsite-packagesdjangocoremanagement\__init__.py", line 363, in execute_from
    utility.execute()
  File "C:Python27libsite-packagesdjangocoremanagement\__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:Python27libsite-packagesdjangocoremanagementase.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:Python27libsite-packagesdjangocoremanagementcommands
unserver.py", line 62, in exe
    super(Command, self).execute(*args, **options)
  File "C:Python27libsite-packagesdjangocoremanagementase.py", line 330, in execute
    output = self.handle(*args, **options)
  File "C:Python27libsite-packagesdjangocoremanagementcommands
unserver.py", line 101, in ha
    self.run(**options)
  File "C:Python27libsite-packagesdjangocoremanagementcommands
unserver.py", line 110, in ru
    autoreload.main(self.inner_run, None, options)
  File "C:Python27libsite-packagesdjangoutilsautoreload.py", line 341, in main
    reloader(wrapped_main_func, args, kwargs)
  File "C:Python27libsite-packagesdjangoutilsautoreload.py", line 312, in python_reloader
    exit_code = restart_with_reloader()
  File "C:Python27libsite-packagesdjangoutilsautoreload.py", line 294, in restart_with_reloade
    str_value = force_bytes(new_environ[key], encoding=encoding)
  File "C:Python27libsite-packagesdjangoutilsencoding.py", line 124, in force_bytes
    return s.decode('utf-8', errors).encode(encoding, errors)
  File "C:Python27libencodingsutf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd4 in position 15: invalid continuation byte

解决方案:

在manage.py 开头加上
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')

6.当创建的app比较多时,将多个app存放在一个文件夹apps下,提示找不到文件路径

  python manage.py runserver 0.0.0.0:8000

  解决方案:

在settins文件中,添加sys.path.insert(0, os.path.join(BASE_DIR, 'apps')) 

 7.Django “Cannot add or update a child row: a foreign key constraint fails”

  解决方案:

settins下
DATABASES = {
'default': {
    ...         
    'OPTIONS': {
         "init_command": "SET foreign_key_checks = 0;",
    },
 }
}

 8.通过源码安装xadmin,执行manage.py时,报找不到xadmin模块

解决方案:将xadmin添加到搜索路径下。

 9.django.core.exceptions.ImproperlyConfigured: Application names aren't unique, duplicates: my_app01 

 解决方案一:

    在settings中,删除掉你注册的应用:

 解决方案二:

   找到你所写的应用app01---->把apps.py文件中的代码全部注释掉。即可解决问题 

10.'WSGIRequest' object has no attribute 'user'

  将settings中配置的MIDDLEWARE改为MIDDLEWARE_CLASSES

MIDDLEWARE = [  
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

  

原文地址:https://www.cnblogs.com/vipchenwei/p/7284494.html