Просмотр не рендеринга шаблона из POST - PullRequest
0 голосов
/ 05 апреля 2019

Получил простое приложение Django, по какой-то причине GET отображает шаблон, как и ожидалось, но POST с точно таким же кодом не выдает ошибку, но также не отображает:

Я потратил много времени на поиски причины для этого и предположил, что я упустил что-то глупое или что-то изменилось в Django 2.2?

class MyView(View):
    template_name = "index.html"```

    def get(self, request):
        return render(request, self.template_name, context={'test':'get_test'})

    def post(self, request):
        return render(request, self.template_name, context={'test':'post_test')

```urlpatterns = [
    path('index/', MyView.as_view(), name='index'),
]

```<h2>{{ test }}</h2>```


Hopefully I haven't simplified the example beyond the point of making sense, but in the example I wish to simply render post_test following a POST which should render the entire page again.

1 Ответ

0 голосов
/ 09 апреля 2019

Предполагается, что у вас есть форма для публикации данных с помощью класса NameForm в forms.py, form.html с формой для публикации.

class MyForm(View):

form_class = NameForm
initial = {'key': 'value'}
template_name = 'form.html'

def get(self, request, *args, **kwargs):
    form = self.form_class(initial=self.initial)
    return render(request, self.template_name, {'form': form})

def post(self, request, *args, **kwargs):
    form = self.form_class(request.POST)
    if form.is_valid():
        # <process form cleaned data>
        return HttpResponseRedirect('/success/')

    return render(request, self.template_name, {'form': form})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...