base.html
, базовый шаблон для всех страниц, хочу в этот шаблон выводить форму, чтобы форма была доступна со всех страниц, как это правильно можно сделать? Попробовал так, но форма не рендерится:def add(request):
form = Form() #ModelForm
context = {
'form': form
}
return render(request, 'app/base.html', context)
settings.TEMPLATES['context_processors'].append('path.to.my.module.where.inject_form')
def inject_form(request):
return {form: MyForm()}
{# base.html #}
...
{{form}} и вот это всё
...
views.py
from django.shortcuts import render
from django.http import HttpRequest
from .forms import *
def startpage(request):
if request.method == 'POST':
form = MyForm(request.POST)
context = {'form':form}
if form.is_valid():
context = form.cleaned_data
'''делаем что то с данными создаем новый контексT'''
context = ....
return render(request, 'mydir/mytemplate.html', context)
else:
context = {'form':MyForm()}
return render(request, 'mydir/another_template.html', context)