2016-01-13 4 views
3

Я использую django, установленный с помощью cookiecutter (работает внутри virtualenv). В верхней части файла я пытаюсь настроить django env. как это:Пытается запустить сценарий django как автономный - ошибка моделей

import os 
import sys 
import django 
sys.path.append('/vagrant/my_project/my_project/')  
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local') 
django.setup() 
from models import KeyO # This one loads models.py from the same directory. 

models.py выглядит следующим образом:

from django.db import models 
from django.conf import settings 
from decimal import Decimal 
from django.core.validators import MaxValueValidator 
from djmoney.models.fields import MoneyField  

class KeyO(models.Model): 
    keyword = models.CharField('Keyword', max_length=1000, unique=True) 
    ... 

А вот ошибка:

RuntimeError: Model class models.KeyO doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

я не изменял apps.py и мои настройки файла нагрузки это приложение в конце. Есть идеи?

Примечание: Использование py3.5 и Джанго 1,10 Dev

Edit:

локальные настройки: https://gist.github.com/daniel1943/6148f27e157bdb251666 общие (основные настройки): https://gist.github.com/daniel1943/76c46fcfaaa996c9fd66

+0

Вы можете добавить свой файл settings.py в исходном вопросе? Я хочу проверить это. – Dandy

+0

Добавлен как исходный вопрос. –

+0

Я столкнулся с той же проблемой здесь ... Я думаю, что его Django 1.9 dev. Не могу заставить его видеть config.settings.local – Ryan

ответ

2

Так вот решение:

Вместо импорта модели с:

from models import KeyO 

ли это нравится:

from myapp.models import KeyO 

И весь код для запуска автономных Джанго 1.9+ сценариев:

import os 
import sys 
import django 
sys.path.append("/media/sf_VM_desktop/myproject/") #path to your settings file 
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings' 
django.setup() 

from keywords.models import KW 
Смежные вопросы