Форум сайта python.su
Можно заставить generic views выводить на странице помимо информации о объекте ещё и форму, например через extra_context? На англицком пишут, что это можно реализоваться только вот так вот например: http://www.pythondiary.com/tutorials/django-13-generic-views-and-extra_context.html
Не брешут? “Из коробки” не работает?
Отредактировано S (Сен. 29, 2012 10:36:16)
Офлайн
Можно, и даже без extra_context, просто переопределить get_context_data, в нем уже можно добавлять в context все что угодно, это же CBV
import this
Офлайн
Ещё такой вопрос.
Вот тут: http://habrahabr.ru/post/137960/#comment_4600992
есть код:
def form_valid(self, form): instance = form.save(commit=False) instance.user = request.user instance.save() return redirect(self.get_success_url())
class NewTopic(CreateView): form_class = NewTopicForm def form_valid(self, form): instance = form.save(commit=False) instance.user = request.user instance.save() return redirect(self.get_success_url())
Офлайн
instance.user = self.request.user :D
о_О а у меня две учётки оказывается тут
Офлайн
Sdef form_valid(self, form): instance = form.save(commit=False) instance.user = request.user instance.save() return redirect(self.get_success_url())
def form_valid(self, form): form.instance.user=self.request.user return super(Class, self).form_valid(form)
Офлайн
Явно лучше, спасибо.
Кроме того, вариант с хабра ещё и редирект после отправки данных формы ломает.
Офлайн
FishHookdef form_valid(self, form): form.instance.user=self.request.user return super(Class, self).form_valid(form)
from django.db import models from django.contrib.auth.models import User # Create your models here. class ForumTopic(models.Model): TopicTitle = models.CharField(max_length=100) TopicPubDate = models.DateTimeField() def __unicode__(self): return '%s' % self.TopicTitle class ForumPost(models.Model): PostTitle = models.CharField(max_length=100) PostText = models.TextField(max_length=10000) PostPubDate = models.DateTimeField() Topic = models.ForeignKey(ForumTopic) author = models.ForeignKey(User) def __unicode__(self): return '%s' % self.PostTitle
Офлайн