Django makemigrations错误:Django 1.8

时间:2015-12-08 11:23:17

标签: python django python-2.7 pycharm

MacOS 10.9.2,python 2.7.10

我安装PyCharm version3.4并选择首次创建django项目,应用程序开始下载django 1.9版;

但是当我在“运行manage.py任务”中输入“makemigrations”时,它显示错误:

bash -cl" /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Applications/PyCharm.app/helpers/pycharm/django_manage.py makemigrations / Users / apple / PycharmProjects / DjangoProj" 系统检查确定了一些问题:

警告: ?:( 1_8.W001)Django 1.8中不推荐使用独立的TEMPLATE_ *设置,TEMPLATES字典优先。您必须将以下设置的值放入默认的TEMPLATES dict:TEMPLATE_DIRS。 未检测到任何更改

处理完成,退出代码为0

当我输入“migrate”时,它会显示:

bash -cl" /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Applications/PyCharm.app/helpers/pycharm/django_manage.py migrate / Users / apple / PycharmProjects / DjangoProj" 系统检查确定了一些问题:

警告: ?:( 1_8.W001)Django 1.8中不推荐使用独立的TEMPLATE_ *设置,TEMPLATES字典优先。您必须将以下设置的值放入默认的TEMPLATES dict:TEMPLATE_DIRS。 执行的操作:   同步未迁移的应用程序:静态文件,消息   应用所有迁移:admin,contactor,contenttypes,auth,sessions 无需迁移即可同步应用:   创建表格......     运行延迟的SQL ...   安装自定义SQL ... 正在运行迁移:   无需迁移。

处理完成,退出代码为0

settings.py是:(已更新)

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'contactor',//created by myself
)

我知道这只是一个警告,但是当我输入时仍然存在错误:

from contactor.models import Person

在python控制台中......

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Users/apple/PycharmProjects/DjangoProj/contactor/models.py", line 4, in <module>
    class Person(models.Model):
  File "/Users/apple/PycharmProjects/DjangoProj/contactor/models.py", line 5, in Person
    firstName = models.CharField(max_length = 30)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1081, in __init__
    super(CharField, self).__init__(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 161, in __init__
    self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in __getattr__
    self._setup(name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

这意味着我还要更新我的init.py吗?

2 个答案:

答案 0 :(得分:1)

  

警告:?:( 1_8.W001)Django 1.8中不推荐使用独立的TEMPLATE_ *设置,TEMPLATES字典优先。您必须将以下设置的值放入默认的TEMPLATES dict:TEMPLATE_DIRS。未检测到任何更改

这只是一个警告。您不需要降级到Django 1.8。要停止警告,您需要更新设置。 Django文档中有一个guide to upgrading your template settings

要导入模型,需要正确配置设置。最简单的方法是使用shell中的manage.py命令。

./manage.py shell

如果您尝试在Pycharm中使用shell,则需要确保正确配置了设置。我不能提供任何建议如何做到这一点。

答案 1 :(得分:-1)

@knRao

  1. 显示错误消息
  2.   

    Django中不推荐使用独立的TEMPLATE_ *设置

    将模板目录名称更改为TEMPLATES

    1. 对于迁移错误,请确保您没有编辑init.py文件并更正模型以查找任何错误。