用sqlite3设置Django?

时间:2012-11-09 02:48:50

标签: django

我正在尝试按照django网站上的演练,我下载了sqlite并将其保存在C:\Windows\System32文件夹中。当我编辑settings.py文件时,我应该为Name字段添加什么内容?我是否必须建立数据库? django文献说,API应该为sqlite处理。当我运行python manage.py syncdb时,我发现了一堆错误。我做错了什么?

    Jason & Casey@SUPERBEAST ~/Desktop/mysite
$ python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "c:\Python27\lib\site-packages\django\core\management\__init__.py", line
443, in execute_from_command_line
    utility.execute()
  File "c:\Python27\lib\site-packages\django\core\management\__init__.py", line
382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "c:\Python27\lib\site-packages\django\core\management\__init__.py", line
252, in fetch_command
    app_name = get_commands()[subcommand]
  File "c:\Python27\lib\site-packages\django\core\management\__init__.py", line
101, in get_commands
    apps = settings.INSTALLED_APPS
  File "c:\Python27\lib\site-packages\django\utils\functional.py", line 184, in
inner
    self._setup()
  File "c:\Python27\lib\site-packages\django\conf\__init__.py", line 42, in _set
up
    self._wrapped = Settings(settings_module)
  File "c:\Python27\lib\site-packages\django\conf\__init__.py", line 93, in __in
it__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "c:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
    __import__(name)
  File "c:\Users\Jason & Casey\Desktop\mysite\mysite\settings.py", line 21
    }
    ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:13)

我没有尝试过windows下的django,但python 2.7肯定会带有开箱即用的sqlite。

如何设置数据库?

位于文件顶部:

import os

然后:

PROJECT_DIR = os.path.abspath(os.path.dirname(__file__))
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(PROJECT_DIR, 'yourdatabasename.db'),
    }
}

最后一个syncdb可以做到这一点。

如果它不起作用,介意粘贴回溯?

答案 1 :(得分:4)

问题是:

  File "c:\Users\Jason & Casey\Desktop\mysite\mysite\settings.py", line 21
    }
    ^
SyntaxError: invalid syntax

检查DATABASES周围没有正确关闭paren或大括号的语法。