Переопределение get_context_data блокирует некоторые контекстные данные, идущие в шаблон - PullRequest
0 голосов
/ 13 октября 2018

Я наследую от 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.Может ли кто-нибудь помочь мне с той путаницей, которая у меня есть?

...