Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Проблема с пониманием работы Django(или Python в общем). [RSS Feed]

#1 Март 30, 2011 19:16:46

inlanger
От:
Зарегистрирован: 2009-01-17
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с пониманием работы Django(или Python в общем).

Задача такая - есть пользователи, есть их профили, есть комментарии. Есть блок “последние комментарии”. Нужно в комментарии отобразить аватарку юзера.
Всё работает, всё хорошо.
Модель комментов:

class Comment(models.Model):   
user = models.ForeignKey(User)
comment = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ("-timestamp",)
app_label = models.CharField(max_length=20)
id_of = models.PositiveIntegerField(max_length=10)
rating_value = models.IntegerField(max_length=4)
Есть функция получения последних комментов:
def get_last_comments(count=3):
from comments.models import Comment
last_comments = Comment.objects.order_by('-id')[:count]
return last_comments
По дизайну вывод последних комментариев выглядит так: http://awesomescreenshot.com/088agvl76
Во вьюхе передаю объект, полученный из get_last_comments() как last_comments, и вывожу:
<h4>Последние коментарии</h4>
{% if last_comments %}
{% for comment in last_comments %}
<div class="comment">
<img src="/static/images/trash/face.jpg" width="42" height="42" alt="" />
<h6>{{ comment.user }}</h6>
{{ comment.timestamp|date:"H:i" }} | {{ comment.timestamp|date:"d.m.Y" }}
<p>
{{ comment.comment }}
</p>
<a class="more_info rounded2" href="#">Подробнее</a>
</div>
{% endfor %}
{% endif %}
Теперь вопрос, как мне в шаблон передать аватарку юзера из его профиля, который подключен в AUTH_PROFILE_MODULE? На каком этапе это вообще делать? Да и не только аватарку, а вообще любые данные к каждому элементу объекта, который я получаю в результате get_last_comments()?



Отредактировано (Март 30, 2011 19:36:37)

Офлайн

#2 Март 31, 2011 07:49:48

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

Проблема с пониманием работы Django(или Python в общем).

Офлайн

#3 Март 31, 2011 08:42:27

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Проблема с пониманием работы Django(или Python в общем).

get_profile является не очень хорошим способом получения профиля.

Если нет других препятствий, то имеет смысл модель комментария (или любую другую, которая должна быть завязана на пользователя) сразу привязывать к профилю, а не к модели User. Тогда можно будут расширенную информацию по пользователе получать через просто select_realted.



Офлайн

#4 Март 31, 2011 09:59:42

inlanger
От:
Зарегистрирован: 2009-01-17
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с пониманием работы Django(или Python в общем).

Я знаю про get_profile(), но я не могу понять на каком этапе мне его использовать, что-бы каждый коммент получил профиль своего юзера. И эта проблема не завязана на профилях, она у меня возникла в нескольких местах, профили я привел как пример, с которым точно многие сталкивались.

По select_realted - у меня комментарии универсальные на сайте, то есть, я их делал так, что-бы можно было с минимумом кода подключить в к любому приложению. Из-за этого у меня таблица комментариев не связана с другими таблицами по ForeignKey, а только содержит инфу о имени приложения и уникального_id_в_этом_приложении.



Отредактировано (Март 31, 2011 10:06:08)

Офлайн

#5 Апрель 5, 2011 07:13:27

zayass
От:
Зарегистрирован: 2011-04-05
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с пониманием работы Django(или Python в общем).

{{ comment.user.get_profile }} ?



Офлайн

  • Начало
  • » Django
  • » Проблема с пониманием работы Django(или Python в общем).[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version