无法使用django syncdb创建表
我对Django和网页框架开发还很陌生,最近尝试用Django自带的模型来创建表格,然后运行syncdb命令让它自动创建。不过,我在创建表格时遇到了一些问题。
这是我的模型:
from django.db import models
class User(models.Model):
username=models.CharField(max_length=100,primary_key=True)
password=models.CharField(max_length=100)
这是我的数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'djangousers', # Or path to database file if using sqlite3.
'USER': <my username>, # Not used with sqlite3.
'PASSWORD': <my password>, # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
}
}
这是我遇到的错误:
Traceback (most recent call last):
File "manage.py", line 14, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 209, in execute
translation.activate('en-us')
File "/usr/local/lib/python2.6/dist-packages/django/utils/translation/__init__.py", line 100, in activate
return _trans.activate(language)
File "/usr/local/lib/python2.6/dist-packages/django/utils/translation/trans_real.py", line 202, in activate
_active.value = translation(language)
File "/usr/local/lib/python2.6/dist-packages/django/utils/translation/trans_real.py", line 185, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "/usr/local/lib/python2.6/dist-packages/django/utils/translation/trans_real.py", line 162, in _fetch
app = import_module(appname)
File "/usr/local/lib/python2.6/dist-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/thor/scripts/django/quiz/dbs.py", line 4, in <module>
class User(models.Model):
File "/usr/local/lib/python2.6/dist-packages/django/db/models/base.py", line 52, in __new__
kwargs = {"app_label": model_module.__name__.split('.')[-2]}
IndexError: list index out of range
如果有人能帮忙,我会非常感激。提前谢谢你们!
2 个回答
0
你知道Django有自己的用户模型吗?别浪费时间去做已经有人做好的事情!这就是Django的核心理念。
想了解更多,可以查看这里: https://docs.djangoproject.com/en/1.3/topics/auth/
2
看起来你在这里定义你的模型:/home/thor/scripts/django/quiz/dbs.py
。
这个文件应该放在你应用的根目录下,并且命名为models.py
。
想了解更多信息,可以查看这里:https://docs.djangoproject.com/en/dev/topics/db/models/#using-models