Я наследую от CreateView, чтобы создать форму для модели.
class NewBlogView(CreateView):
form_class = BlogForm
template_name = 'blog_settings.html'
def form_valid(self, form):
blog_obj = form.save(commit=False)
blog_obj.owner = self.request.user
blog_obj.slug = slugify(blog_obj.title)
blog_obj.save()
return HttpResponseRedirect(reverse('home'))
Вот мой код шаблона:
{% extends 'base.html' %}
{% block content %}
<h1>Create New User</h1>
<form action='' method='post'>{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='Create Account' />
</form>
{% endblock %}
На данный момент все работает, как ожидалось, нокогда я переопределяю get_context_data()
, мое title
поле исчезает.
class NewBlogView(CreateView):
form_class = BlogForm
template_name = 'blog_settings.html'
def form_valid(self, form):
blog_obj = form.save(commit=False)
blog_obj.owner = self.request.user
blog_obj.slug = slugify(blog_obj.title)
blog_obj.save()
return HttpResponseRedirect(reverse('home'))
def get_context_data(self, **kwargs):
ctx = super(NewBlogView, self).get_context_data(**kwargs)
print(ctx)
return ctx
Я думаю, что хотя я запускаю исходную get_context_data()
форму функции, которую я наследую, есть что-то, что происходитнеправильно, когда дело доходит до взятия имени поля из form_class
.Может ли кто-нибудь помочь мне с той путаницей, которая у меня есть?