Форум сайта python.su
Доброго времени суток!
Есть внешний скрипт, содержащий
import datetime
from django.conf import settings
from liveproject.liveupdate.models import Update
import urllib
import re
Traceback (most recent call last):
File "cronjob.py", line 3, in <module>
from liveproject.liveupdate.models import Update
ImportError: No module named liveproject.liveupdate.models
Офлайн
может он у вас в INSTALLED_APPS не подключен?
и вообще зачем вы пытаетесь интерпретировать scripts.py?
Объясните чего вы хотите добиться?
Офлайн
Вообще хотелось бы чтобы скрипт запускался планировщиком и парсил страницу сайта
где я намудрил?
settings.py
# Django settings for liveproject project.
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', 'your_email@domain.com'),
)
MANAGERS = ADMINS
DATABASES = {
'default': {
'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'c:\\test\\src\\liveproject\\sqlite.db', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Chicago'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale
USE_L10N = True
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = 'c:/test/src/liveproject/liveupdate/media'
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media_admin/'
# Make this unique, and don't share it with anybody.
SECRET_KEY = '6o86-dt5n*^a*y%=pru5!wl=*0*$)fu3bx5%g7!8yeb-9tc+rx'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
ROOT_URLCONF = 'liveproject.urls'
TEMPLATE_DIRS = (
'C:\\test\\src\\liveproject\\liveupdate\\templates' ,
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'liveproject.liveupdate',
)
Офлайн
1. пока локально разрабатывается - может и покатит.
Но, например:
c:\\test\\src\\liveproject\\sqlite.db
def rel(*x):
return os.path.join(os.path.abspath(os.path.dirname(__file__)), *x)
MEDIA_ROOT = rel('media')
from liveproject.liveupdate.models import Update
Офлайн
У вас по всей видимости скрипт запускается без настройки окружения django (DJANGO_SETTINGS_MODULE недостаточно).
Возможно лучшим способом для Вас будет написать команду для manage.py - http://docs.djangoproject.com/en/dev/howto/custom-management-commands/ - в этом случае окружение будет точно правильно настроено.
Офлайн
DJANGO_SETTINGS_MODULE=liveproject.settings
путь к проекту(прописан в переменной path) c:\test\src
положил скрипт в папку c:\test\src (до этого он у меня лежал в c:\test\src\liveproject), скрипт отработал наконец-то, теперь у меня возникает вопрос - если скрипт лежит не в этой дирекотории может быть нужно задавать текущей директорией директорию c:\test\src? ну и второй вопрос - как это сделать, получить нашёл как, а изменить чёт нет.
Офлайн