Найти - Пользователи
Полная версия: Пути к файлам и папкам и прочие грабли.
Начало » Django » Пути к файлам и папкам и прочие грабли.
1
PavelZ
Переделываю сайт с php на Django, причём до меня там уже дописали что-то на Django, надо перевести остальное. Проблема в том, там стоит версия CVN 0.97… а заказчик не хочет её менять, он дал мне папку в которой сам под виндой делал свои дороботки, мол в ней и пиши. Самый интересный момент, что почти всё сделал (работало честное слово), осталось заставить правильно работать паджинатор.
Выходит релиз и у меня возникает жгучее желание обновить Django в своей рабочей папке. В итоге заставить работать не смог ругается
Error while importing URLconf ‘urls’: cannot import name template
отложил это дело на время. Заказчик потребовал работу. Откатил назад изменения, но ошибка повторилась, где какую закорючку поставил лишнюю не могу понять.
settings
# -*- coding: utf-8 -*-
# Django settings for project.

BASE_DIR = 'C:/django/proc'

DEBUG = True
TEMPLATE_DEBUG = DEBUG
TRANSLATE_CHARSET = True

ADMINS = (

)

MANAGERS = ADMINS

DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'proc.db' # Or path to database file if using sqlite3.
DATABASE_USER = '' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_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 avilable on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Asia/Vladivostok'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'ru-ru'

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

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = BASE_DIR + '/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 = BASE_DIR + '/media/'

# 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 = BASE_DIR + '/adminmedia/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = '1zl6$$3gl7vqs(d-wd4#g4+&3a0u_c^4q)7sa$56(_z*7%pc-_'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.cache.CacheMiddleware',
'django.middleware.doc.XViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
)

ROOT_URLCONF = 'urls'

TEMPLATE_DIRS = BASE_DIR + (
'/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.admin',
'templatetags',
'news',

)
urls
# -*- coding: utf-8 -*-
from django.conf import settings
from django.conf.urls.defaults import *

from news.views import *

urlpatterns = patterns('',
# Example:
# (r'^$', include('foo.urls')),

# Uncomment this for admin:
(r'^admin/', include('django.contrib.admin.urls')),

(r'^$', 'news.views.index'),
(r'^news/(?P<object_id>\d+)/$', 'news.views.news_the'),

(r'^receiv/$', 'news.views.receiv'),
(r'^history/$', 'news.views.history'),
(r'^officials/$', 'news.views.officials'),
(r'^structure/$', 'news.views.structure'),
(r'^pressa/$', 'news.views.pressa'),

(r'^control/$', 'news.views.control'),
(r'^control/(?P<object_id>\d+)/$', 'news.views.control_the'),

(r'^links/$', 'news.views.links'),
)


urlpatterns += patterns('',

(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)
Александр Кошелев
а news.views что не показали?
PavelZ
Не думал, что ошибка может быть тут.
# coding: utf-8

import datetime

from django.core.mail import EmailMessage
from django.shortcuts import get_object_or_404, render_to_response
from django.http import HttpResponse, HttpResponseRedirect
from django.template import Context, loader
from django.newforms import *
from news.models import *

def index(request):
object_list = News.objects.order_by('-post_date')[:15]
t = loader.get_template('index.html')
c = Context({
'object_list': object_list,
})
return HttpResponse(t.render(c))

def news_the(request, object_id):
news = get_object_or_404(News, pk=object_id)
return render_to_response('news.html', {'news': news})

def receiv(request):
return render_to_response('receiv.html')

def history(request):
return render_to_response('history.html')

def officials(request):
return render_to_response('officials.html')

def structure(request):
return render_to_response('structure.html')

def pressa(request):
return render_to_response('pressa.html')

def control(request):
object_list = Control.objects.order_by('-post_date')[:15]
t = loader.get_template('control.html')
c = Context({
'object_list': object_list,
})
return HttpResponse(t.render(c))

def control_the(request, object_id):
control = get_object_or_404(Control, pk=object_id)
return render_to_response('text_control.html',
{'control': control})

def links(request):
return render_to_response('links.html')
И модели
# -*- coding: utf-8 -*-

import datetime

from django.db import models

class News(models.Model):

post_date = models.DateTimeField(u'Дата', default=datetime.datetime.now)
news_title = models.CharField(u'Заголовок', max_length=100, blank=True)
news_text = models.TextField(u'Новость кратко', blank=True)
news_ful_text = models.TextField(u'Текст сообщения', blank=True)
news_photo = models.ImageField(u'Фотография', upload_to='news/%Y/%m/%d', blank=True)

def __unicode__(self):
return u'Новость #%s' % self.id

class Meta:
verbose_name = u'новость'
verbose_name_plural = u'новости'

class Admin:
list_display = ['id', 'news_title', 'news_text', 'post_date']

class Control(models.Model):

post_date = models.DateTimeField(u'Дата', default=datetime.datetime.now)
control_title = models.CharField(u'Заголовок', max_length=100, blank=True)
control_text = models.TextField(u'Цель проверки', blank=True)
control_ful_text = models.TextField(u'Результаты', blank=True)
control_photo = models.ImageField(u'Фотография', upload_to='control/%Y/%m/%d', blank=True)

def __unicode__(self):
return u'Проверка #%s' % self.id

class Meta:
verbose_name = u'проверка'
verbose_name_plural = u'проверки'

class Admin:
list_display = ['id', 'post_date', 'control_title', 'control_text']
Александр Кошелев
хм… а это что такое
from django.core import template
?
PavelZ
Спасибо, экспериментировал впихивал разный код, возможно при удалении остались ошмётки, впредь буду внимательней. После удаления админка заработала, вылезли ещё вопросы, но там вроде всё понятно. Ещё раз спасибо.

На всякий случай исправил, вдруг кому понадобиться как пример простого приложения.
Осталось заставить паджинацию работать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB