Форум сайта python.su
Пытаюсь сделать блог на Django.
Подскажите, как сделать архив в сайдбаре?
Принцип вывода архива обычный: месяц (кол-во постов).
Вот модель поста:
class Post(models.Model):
author = models.ForeignKey(User)
date = models.DateTimeField()
title = models.CharField(max_length=100)
post = models.TextField()
tags = models.ManyToManyField(Tag)
Офлайн
А что тут вообще думать-то, собственно?
В чем суть проблемы-то? Не знаете, как выборку постов за месяц сделать?
Или как в сайдбаре их вывести?
Как выборки делать: http://docs.djangoproject.com/en/1.1/ref/models/querysets/#ref-models-querysets
И как в сайдбаре вывести: http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#howto-custom-template-tags
Не ленитесь.
Офлайн
Выборку я сделаю всех постов. Нужно как-то получить список из кортежей, каждый из которых содержит год, месяц, и кол-во постов. А этот список я уже буду выводить в сайдбаре в шаблоне.
Офлайн
Ну, может быть, кто-нибудь посоветует мне?
Офлайн
Офлайн
Mutagena
Советую скачать пару проектов с исходниками и их по-изучать. Будет намного меньше таких вопросов.
Офлайн
Ferroman, буду благодарна, если поделитесь проектом. Скачивала исходники из темы в этой ветке форума, так при запуске куча ошибок получается.
Офлайн
Мои не подойдут для этого, да и не все я имею право показывать. :(
Ну, может нарою что.
Офлайн
Ferroman, скачала вот этот исходник http://www.djangosites.org/s/demo-ilugc-org-in/
Написала свои параметры подключения к базе в настройках проекта.
Далее запустила сервер, запустился без ошибок, но в браузере вывелся такой трейсбек:
Traceback (most recent call last):
File “C:\Python26\lib\site-packages\django\core\servers\basehttp.py”, line 279, in run
self.result = application(self.environ, self.start_response)
File “C:\Python26\lib\site-packages\django\core\servers\basehttp.py”, line 651, in __call__
return self.application(environ, start_response)
File “C:\Python26\lib\site-packages\django\core\handlers\wsgi.py”, line 241, in __call__
response = self.get_response(request)
File “C:\Python26\lib\site-packages\django\core\handlers\base.py”, line 73, in get_response
response = middleware_method(request)
File “C:\Python26\lib\site-packages\django\middleware\locale.py”, line 16, in process_request
language = translation.get_language_from_request(request)
File “C:\Python26\lib\site-packages\django\utils\translation\__init__.py”, line 97, in get_language_from_request
return real_get_language_from_request(request)
File “C:\Python26\lib\site-packages\django\utils\translation\trans_real.py”, line 349, in get_language_from_request
lang_code = request.session.get('django_language', None)
File “C:\Python26\lib\site-packages\django\contrib\sessions\backends\base.py”, line 63, in get
return self._session.get(key, default)
File “C:\Python26\lib\site-packages\django\contrib\sessions\backends\base.py”, line 172, in _get_session
self._session_cache = self.load()
File “C:\Python26\lib\site-packages\django\contrib\sessions\backends\db.py”, line 16, in load
expire_date__gt=datetime.datetime.now()
File “C:\Python26\lib\site-packages\django\db\models\manager.py”, line 120, in get
return self.get_query_set().get(*args, **kwargs)
File “C:\Python26\lib\site-packages\django\db\models\query.py”, line 300, in get
num = len(clone)
File “C:\Python26\lib\site-packages\django\db\models\query.py”, line 81, in __len__
self._result_cache = list(self.iterator())
File “C:\Python26\lib\site-packages\django\db\models\query.py”, line 238, in iterator
for row in self.query.results_iter():
File “C:\Python26\lib\site-packages\django\db\models\sql\query.py”, line 287, in results_iter
for rows in self.execute_sql(MULTI):
File “C:\Python26\lib\site-packages\django\db\models\sql\query.py”, line 2369, in execute_sql
cursor.execute(sql, params)
File “C:\Python26\lib\site-packages\django\db\backends\util.py”, line 19, in execute
return self.cursor.execute(sql, params)
ProgrammingError: relation “django_session” does not exist
LINE 1: …ession_data“, ”django_session“.”expire_date“ FROM ”django_se…
^
Офлайн
А syncdb ?
Офлайн