【问题标题】:Getting Improperly Configured error while running Django server运行 Django 服务器时出现配置错误
【发布时间】:2017-07-18 07:45:46
【问题描述】:

我正在尝试配置 Django 并正在运行: python manage.py runserver,它可以正确运行服务器,但是当我转到 http://127.0.0.1:8000/ 时,它给了我以下错误:

File "/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
        self.result = application(self.environ, self.start_response)
      File "/usr/local/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
        return self.application(environ, start_response)
      File "/usr/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
        self.load_middleware()
      File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 45, in load_middleware
        mw_class = import_by_path(middleware_path)
      File "/usr/local/lib/python2.7/site-packages/django/utils/module_loading.py", line 26, in import_by_path
        sys.exc_info()[2])
      File "/usr/local/lib/python2.7/site-packages/django/utils/module_loading.py", line 21, in import_by_path
        module = import_module(module_path)
      File "/usr/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
        __import__(name)
    ImproperlyConfigured: Error importing module django.middleware.security: "No module named security"

不知道是什么问题,但是在网上查看时,我发现了一些关于中间件排序的问题。所以这是我的settings.py 文件中的中间件:

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

如何解决这个错误?

【问题讨论】:

  • 您是否激活了安装所需python包的环境?
  • 可能是django版本不匹配造成的。你安装了什么django版本?这个项目是用什么 django 版本制作的?一个常见的错误是 pip install django,但这只会获取最新版本。
  • 尝试从中间件类中删除 django.middleware.security.SecurityMiddleware
  • 您使用的是哪个版本的 Django?在 1.8 版本中添加了安全中间件。

标签: python django configuration middleware


【解决方案1】:

基于cmets,需要升级到Django 1.8,添加安全中间件。

【讨论】:

  • 我刚刚从 cmets 复制了答案,所以这个问题不会出现在未回答列表中。
猜你喜欢
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 2020-12-18
  • 2018-06-03
  • 1970-01-01
相关资源
最近更新 更多