发生服务器错误。请联系管理员。在本地提供Django时显示错误以及"未知命令:' makemigrations'"

时间:2015-03-19 02:50:19

标签: django git

在本地提供服务时尝试查看我的Django应用程序时遇到此错误:

发生服务器错误。请联系管理员。

即使调试错误,它仍然是这样。控制台显示:

django.core.exceptions.ImproperlyConfigured: Module "django.contrib.auth.
are" does not define a "SessionAuthenticationMiddleware" attribute/class

并且四处搜索我发现了评论的建议

MIDDLEWARE_CLASSES = (
    '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',
)

这确实解决了问题,因为应用程序确实显示了,但是当我转到管理面板时,我收到了消息:

Site administration
You don't have permission to edit anything.

我想在尝试将应用程序推送到heroku并运行之前,我会尝试回滚到最后一次提交:

git reset --hard 'appropriate commit'

这似乎根本没有做任何事情。我仍然和以前一样。此外,运行:

python manage.py makemigrations

python manage.py migrate

结果

Unknown command: 'makemigrations'
Type 'manage.py help' for usage.

Unknown command: 'migrate'
Type 'manage.py help' for usage.

以前这两个命令都运行得很好。

如果有帮助,我会在事情开始时尝试将addthis安装到应用中。在git重置后,当我输入git status时,我得到:

Untracked files:
    blog/migrations/0005_join_ip_address.py
    blog/migrations/0006_auto_20150318_1716.py
    blog/migrations/0007_remove_join_ip_address.py

没有更改添加到提交(使用“git add”和/或“git commit -a”)

其他细节:

Django 1.6.5
Python 3.4.1 |Anaconda 2.1.0
Using a Virtualenv

任何帮助都会受到大力赞赏。

2 个答案:

答案 0 :(得分:2)

正如其他人所注意到的,你的Django版本应该是1.7;这是由您安装django-addthis引起的。

当前版本的django-addthis明确指出Django<=1.6.5为依赖项。出于某种原因,这会提示pip降级您的安装:

$ pip install django-addthis
Downloading/unpacking django-addthis
  Downloading django-addthis-2.0.0.tar.gz
  Running setup.py (path:...) egg_info for package django-addthis

Downloading/unpacking Django>=1.4,<=1.6.5 (from django-addthis)
  Downloading Django-1.6.5-py2.py3-none-any.whl (6.7MB): 6.7MB downloaded
Installing collected packages: django-addthis, Django
  Running setup.py install for django-addthis

  Found existing installation: Django 1.7.5
    Uninstalling Django:
      Successfully uninstalled Django
Successfully installed django-addthis Django

最后四行显示了我在自己的Django 1.7项目中尝试此操作时发生的情况。 pip愉快地降级你的Django应用程序。由于virtualenv依赖项通常存储在Git中,因此当您执行git status时,您将无法看到此信息。

唯一的解决方案是卸载django-addthis并重新安装正确的Django版本:

$ pip uninstall django-addthis && pip install --upgrade -r requirements.txt 

答案 1 :(得分:0)

您正在针对已安装的1.6版本运行Django 1.7项目。升级你的Django安装。