Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Помогите, плиз, с примером из книги "Django. Разработка ..." [RSS Feed]

#1 Ноя. 24, 2010 18:01:59

jeltoesolnce
От:
Зарегистрирован: 2010-11-23
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

Доброго дня.

Делаю пример из книги “Django. Разработка веб-приложений на языке Python”, Д. Форсье, П. Биссекс, Уэсли Чан, сделал “микроблог”, как стал делать общедоступную часть - полезла ошибка.

Три раза проверял - вроде всё Ок, может версии конфлитктуют, или ещё что?

Вот что сервер выдал:

Request Method:	GET
Request URL: http://localhost:8000/admin/
Django Version: 1.3 alpha 1
Exception Type: TemplateSyntaxError
Exception Value: Caught ImportError while rendering: cannot import name archive
Exception Location: /usr/home/jeltoesolnce/learn/python/mysite/../mysite/blog/urls.py in <module>, line 2
Python Executable: /usr/local/bin/python
Python Version: 2.6.6
Вот ../blog/urls.py
  1 from django.conf.urls.defaults import *
2 from mysite.blog.views import archive
3
4 urlpatterns = patterns('',
5 url(r'^$', archive),
6 )
Вот ../blog/views.py
  1 from django.template import loader, Context
2 from django.http import HttpResponse
3 from mysite.blog.models import BlogPost
4
5 def archive(request):
6 posts = BlogPost.objects.all()
7 t = loader.get_template("archive.html")
8 c = Context({ 'posts': posts })
9 return HttpResponse(t.render(c))



Офлайн

#2 Ноя. 24, 2010 18:05:45

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

Обычный ImportError
Покажите структуру папок проекта, и каким образом и откуда запускаете девелоперский сервер.



Офлайн

#3 Ноя. 24, 2010 21:49:24

jeltoesolnce
От:
Зарегистрирован: 2010-11-23
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

Здесь я запускаю сервер (это я ему Ctrl-C дал)

%Unhandled exception in thread started by <function inner_run at 0x28f6f144>
Traceback (most recent call last):
File "/usr/local/lib/python2.6/site-packages/django/core/management/commands/runserver.py", line 76, in inner_run
run(addr, int(port), handler)
File "/usr/local/lib/python2.6/site-packages/django/core/servers/basehttp.py", line 686, in run
httpd.serve_forever()
File "/usr/local/lib/python2.6/SocketServer.py", line 224, in serve_forever
r, w, e = select.select([self], [], [], poll_interval)
AttributeError: 'NoneType' object has no attribute 'select'

%pwd
/usr/home/jeltoesolnce/learn/python/mysite
%
Вот сами папки
%ls -lR
total 28
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 5296 Nov 23 17:38 201011231720mysite.tar.gz
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 0 Nov 22 17:09 __init__.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 151 Nov 22 17:09 __init__.pyc
drwxr-xr-x 3 jeltoesolnce jeltoesolnce 512 Nov 24 18:00 blog
-rwxr-xr-x 1 jeltoesolnce jeltoesolnce 118 Nov 23 17:22 edit.sh
-rwxr-xr-x 1 jeltoesolnce jeltoesolnce 546 Nov 22 17:09 manage.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 4852 Nov 22 17:52 settings.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 2818 Nov 22 17:52 settings.pyc
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 402 Nov 24 17:52 urls.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 451 Nov 24 17:52 urls.pyc

./blog:
total 20
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 0 Nov 22 17:11 __init__.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 156 Nov 22 17:15 __init__.pyc
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 323 Nov 23 17:11 models.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 966 Nov 23 17:12 models.pyc
drwxr-xr-x 2 jeltoesolnce jeltoesolnce 512 Nov 24 17:25 templates
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 514 Nov 22 17:11 tests.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 130 Nov 24 17:30 urls.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 347 Nov 24 17:31 urls.pyc
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 284 Nov 24 17:26 views
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 26 Nov 22 17:11 views.py
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 153 Nov 24 17:31 views.pyc

./blog/templates:
total 2
-rw-r--r-- 1 jeltoesolnce jeltoesolnce 115 Nov 24 17:24 archive.html
%
Дело в том, что до того момента, пока я не создал, вроде бы,
../blog/urls.py
всё шло согласно книжке… Собственно, уточнение: возможно, кто-то учился по этой книжке, она позапрошлого издания, а Django скачан с SVN последний. Может и повлиять.



Отредактировано (Ноя. 25, 2010 09:31:36)

Офлайн

#4 Ноя. 25, 2010 10:39:08

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

1. В settings.py: blog добавили в installed apps?
2. syncdb делали после того, как модель создали?



Офлайн

#5 Ноя. 25, 2010 10:48:19

jeltoesolnce
От:
Зарегистрирован: 2010-11-23
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

 INSTALLED_APPS = (
106 'django.contrib.auth',
107 'django.contrib.admin',
108 'django.contrib.contenttypes',
109 'django.contrib.sessions',
110 'django.contrib.sites',
111 'django.contrib.messages',
112 'django.contrib.staticfiles',
113 'mysite.blog',
114 # Uncomment the next line to enable the admin:
115 # 'django.contrib.admin',
116 # Uncomment the next line to enable admin documentation:
117 # 'django.contrib.admindocs',
118 )
Вот, а вот:

Page not found (404)Request Method: GET
Request URL: http://localhost:8000/


Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:
^blog/
^admin/

В сам блог не входил, входил только в административную часть - добавлял записи.

The current URL, , didn't match any of these.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

Что выдаёт девелоперский сервер. syncdb сделал.



Отредактировано (Ноя. 25, 2010 10:49:52)

Офлайн

#6 Ноя. 25, 2010 10:56:56

jeltoesolnce
От:
Зарегистрирован: 2010-11-23
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

Теперь вот что выдал:
TemplateSyntaxError at /admin/
Caught ImportError while rendering: cannot import name archiveRequest Method: GET
Request URL: http://localhost:8000/admin/
Django Version: 1.3 alpha 1
Exception Type: TemplateSyntaxError
Exception Value: Caught ImportError while rendering: cannot import name archive
Exception Location: /usr/home/jeltoesolnce/learn/python/mysite/../mysite/blog/urls.py in <module>, line 2
Python Executable: /usr/local/bin/python
Python Version: 2.6.6

../blog/urls.py line 2:

 2 from mysite.blog.views import archive
../blog/templates/archive.html
 1 {% for post in posts %}
2 <h2>{{ post.title }}</h2>
3 <p>{{ post.timestamp }}</p>
4 <p>{{ post.body }}</p>
5 {% endfor %}
mysite/blog/template/<foo>.html - это нормально?
Далее, сервер “развернул” сообщение об ошибке:
31	                {% url django-admindocs-docroot as docsroot %}



Отредактировано (Ноя. 25, 2010 11:00:02)

Офлайн

#7 Ноя. 25, 2010 11:59:52

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

ну, сами поройтесь.
Не пашет следующее, так как не может импортнуть.

from mysite.blog.views import archive
Попробуйте
from blog.views import archive
,
from mysite.blog import views
и т.д.
Сами продебажте свои ошибки - это только начало.. Дальше сложнее будет и нет смысла бегать за всем на форум.
Просто поробуйте разные варианты иморта и я уверен, что Вы сами разберетесь в своей проблеме..

Главное, чтобы в каждой папке был файл __init__.py, чтобы папка стала пайтоновским пакетом.



Офлайн

#8 Ноя. 25, 2010 12:03:29

jeltoesolnce
От:
Зарегистрирован: 2010-11-23
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

Тут вопрос следующий.

Это - упражнение в книжке. Оно или работает, или нет, но я не знаю, ошибка у меня или ошибка в книжке, или конфликт версий. Ветка была создана в надежне выяснить, сталкивался-ли кто-нибудь с подобной ситуацией при выполнении данного упражнения - вот где бы был признателен за помощь.



Отредактировано (Ноя. 25, 2010 12:05:06)

Офлайн

#9 Ноя. 25, 2010 12:12:44

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

jeltoesolnce, как давно вы знакомы с Python? vaxXxa все правильно написал.



Офлайн

#10 Ноя. 25, 2010 12:16:44

jeltoesolnce
От:
Зарегистрирован: 2010-11-23
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите, плиз, с примером из книги "Django. Разработка ..."

Дней десять. Вполне понятно, что по прошествии некоторого времени я разберусь, почему не работал пример. В книгах встречаются опечатки, Django меняется, я могу ошибиться.

Вопрос стоял - бросать упражнение и заняться изучением Django или доделать его. За внимание - спасибо.



Отредактировано (Ноя. 25, 2010 12:18:07)

Офлайн

  • Начало
  • » Django
  • » Помогите, плиз, с примером из книги "Django. Разработка ..."[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version