Связь шаблона Django с Django include
можно ли открыть html-ссылку формы в Django html include?
Итак, я не хочу, чтобы ссылка в html открывалась в адресной строке браузера, чтобы ее можно было увидеть. Поэтому я подумал, можно ли как-то открыть ее в том же шаблоне. Но это не сработало для меня, потому что данные по умолчанию для формы не берутся.
Например:
в моем .html файле у меня есть URL
<li role="presentation"><a href="{% url 'create_exposition' blog.id %}">create new blog</a></li>
{% include "zed/create_exposition.html" with ...%}
Эта ссылка в urls.py
re_path(r'^(?P<blog_id>[0-9]+)/create_exposition/$', views.create_exposition, name='create_exposition'),
и в файле views.py
def create_exposition(request, blog_id):
form = ExpositionForm(request.POST or None)
blog= get_object_or_404(Blog, pk=blog_id)
if form.is_valid():
blogs_expositions = blog.exposition_set.all()
for s in blogs_expositions:
if s.identifikationsnummer == form.cleaned_data.get("idnumber"):
context = {
'blog': blog,
'form': form,
'error_message': 'You already added that exposition',
}
return render(request, 'zed/create_exposition.html', context)
exposition = form.save(commit=False)
exposition.blog= blog
exposition.save()
return render(request, 'zed/blog_detail.html', {'blog': blog})
context = {
'blog': blog,
'form': form,
}
return render(request, 'zed/create_exposition.html', context)
Да, я знаю, что это все еще старое прочь и нет дженериквью. Я уже переделываю часть за частью.