Python Django manage.py syncdb不工作

Python Django manage.py syncdb不工作,python,django,python-2.7,django-models,django-templates,Python,Django,Python 2.7,Django Models,Django Templates,我正在努力学习django 我正在学习一个教程,并制作了一个应用程序……因此我打开了settings.py文件,并根据教程对“NAME”和“ENGINE”进行了以下更改……如下所示: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': '~/django/bin/django_test/storage.db' } 因此,在本教程的后面部分,它说为了实际创建这样一个文件“stora

我正在努力学习django

我正在学习一个教程,并制作了一个应用程序……因此我打开了settings.py文件,并根据教程对“NAME”和“ENGINE”进行了以下更改……如下所示:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': '~/django/bin/django_test/storage.db' 
}
因此,在本教程的后面部分,它说为了实际创建这样一个文件“storage.db”,要做到这一点:

python manage.py syncdb
结果是:

/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/commands/syncdb.py:24: RemovedInDjango19Warning: The syncdb command will be removed in Django 1.9
  warnings.warn("The syncdb command will be removed in Django 1.9", RemovedInDjango19Warning)

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/base.py", line 390, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/commands/syncdb.py", line 25, in handle
    call_command("migrate", **options)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/__init__.py", line 120, in call_command
    return command.execute(*args, **defaults)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/base.py", line 441, in execute
    output = self.handle(*args, **options)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/core/management/commands/migrate.py", line 93, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/migrations/executor.py", line 19, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/migrations/loader.py", line 47, in __init__
    self.build_graph()
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/migrations/loader.py", line 180, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/migrations/recorder.py", line 59, in applied_migrations
    self.ensure_schema()
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/migrations/recorder.py", line 49, in ensure_schema
    if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/backends/base/base.py", line 162, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/backends/base/base.py", line 135, in _cursor
    self.ensure_connection()
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/utils.py", line 97, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/backends/base/base.py", line 119, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/Users/angel/django/lib/python2.7/site-packages/Django-1.8.1-py2.7.egg/django/db/backends/sqlite3/base.py", line 204, in get_new_connection
    conn = Database.connect(**conn_params)
django.db.utils.OperationalError: unable to open database file>
/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/commands/syncdb.py:24:removedindjango19警告:将在django 1.9中删除syncdb命令
warnings.warn(“Django 1.9中将删除syncdb命令”,RemovedInDjango19Warning)
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/__init_uuuuuu.py”,第338行,从命令行执行
utility.execute()
文件“/Users/angel/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/__init___.py”,第330行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/base.py”,第390行,运行时从
self.execute(*args,**cmd_选项)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/base.py”,第441行,在execute中
输出=self.handle(*args,**选项)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/commands/syncdb.py”,第25行,在handle中
调用_命令(“迁移”,**选项)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/__init___.py”,第120行,在call_命令中
return命令。execute(*args,**默认值)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/base.py”,第441行,在execute中
输出=self.handle(*args,**选项)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/core/management/commands/migrate.py”,第93行,在handle中
executor=MigrationExecutor(连接、self.migration\u进程\u回调)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/migrations/executor.py”,第19行,在__
self.loader=MigrationLoader(self.connection)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/migrations/loader.py”,第47行,在__
self.build_图()
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/migrations/loader.py”,第180行,内置图
self.applicated_migrations=recorder.applicated_migrations()
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/migrations/recorder.py”,第59行,应用程序迁移
self.sure_schema()
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/migrations/recorder.py”,第49行,在Sure_模式中
if self.Migration.\u meta.db_表中的self.connection.introspection.table_名称(self.connection.cursor()):
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/backends/base/base.py”,第162行,光标
cursor=self.make\u debug\u cursor(self.\u cursor())
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/backends/base/base.py”,第135行,在光标处
self.sure_连接()
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/backends/base/base.py”,第130行,在确保连接中
self.connect()
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/utils.py”,第97行,在退出时__
6.重新播放(dj_exc_类型、dj_exc_值、回溯)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/backends/base/base.py”,第130行,在确保连接中
self.connect()
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/backends/base/base.py”,第119行,在connect中
self.connection=self.get_new_connection(连接参数)
文件“/Users/angle/django/lib/python2.7/site packages/django-1.8.1-py2.7.egg/django/db/backends/sqlite3/base.py”,第204行,在get_new_connection中
conn=数据库.connect(**conn_参数)
django.db.utils.OperationalError:无法打开数据库文件>

符号
~
未扩展到您的主目录,因此您必须手动将完整绝对路径传递到数据库:

'NAME': '/home/yourname/django/bin/django_test/storage.db'
如果
django_test
是django项目的名称,那么最好使用以下代码:

'NAME': os.path.join(BASE_DIR, 'storage.db'),

哦,你打了什么,应该发生什么,发生了什么?至少尝试格式化你的stracktrace,并详细阐述你的问题……哦,你是对的,因为某些原因它没有正确发布……brb我会解决这个问题