سؤال

أنا أتبع برنامجًا تعليميًا لـ 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',

سيعطي هذا اسم الملف وموقعك لـ db

'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