Вопрос

Я следую руководству по django, но я все трижды проверил, и у меня это не работает, вот что я получаю....что я сделал не так.

python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/base.py", line 284, in execute
self.validate()
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/base.py", line 310, in validate
num_errors = get_validation_errors(s, app)
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/core/management/validation.py", line 34, in get_validation_errors
for (app_name, error) in get_app_errors().items():
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/db/models/loading.py", line 196, in get_app_errors
self._populate()
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/db/models/loading.py", line 75, in _populate
self.load_app(app_name, True)
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/db/models/loading.py", line 99, in load_app
models = import_module('%s.models' % app_name)
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
  File "/Volumes/SWEETMEDIA/Development/Python/hackernews/hn/stories/models.py", line 6, in <module>
(hackernews)
sweetmedia: /Volumes/SweetMedia/Development/Python/hackernews/hn                                                                                              ▸▸▸▹▹▹▹▹▹▹
→ 

Это то, что у меня есть в БАЗЕ ДАННЫХ

 DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Это models.py из приложения stories может у меня здесь что-то есть, я не беру трубку?

from urlparse import urlparse
from django.db import models
from django.contrib.auth.models import User

class Story(models.Model):    
    title = models.CharField(max_length=200)    
    url = models.URLField()    
    points = models.IntergerField()    
    moderator = models.ForeignKey(User)    
    created_at = models.DateTimeField(auto_now_add=True)    
    updated_at = models.DateTimeField(auto_now=True)    

    @property
    def domain(self):
    return urlparse(self.url).netloc    
Это было полезно?

Решение 2

В модели модераторов у меня было:

points = models.IntergerField()

и «Inte(r)gerField» не существует!лол я ошибся.Я исправил это на:

points = models.IntegerField()

Другие советы

Вы не установили настройку базы данных ENGINE в settings.py

Он будет создан в том же каталоге, что и тот, из которого вы запускаете Manage.py.

'NAME': 'data.sqlite',

Это даст имя файла и ваше местоположение для базы данных.

'NAME': '/yourpath/mysite/data.sqlite',

Лучше всего передать абсолютный путь как

import os

SETTINGS_DIR = os.path.dirname(os.path.abspath(__file__))

и НАЗВАНИЕ как

'NAME': os.path.join(SETTINGS_DIR, 'data.sqlite'),
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top