После того, как пользователь заполнит форму на моем сайте, пользовательский рендер (запрос, html, контекст). Я хотел бы вернуть пользователя на ту же часть страницы после регистрации. Я не использую какие-либо интерфейсные рамки (например, угловые - это мой следующий проект). Как мне это сделать?django 1.10 render template html class
views.py:
def homepage(request):
countries = Country.objects.count()
cities = City.objects.count()
start_trip_date = date(xxxx, x, x)
today = date.today()
total_days = today - start_trip_date
queryset_list = Post.objects.active()[:6]
query = request.GET.get("q")
if query:
queryset_list = queryset_list.filter(
Q(title__icontains=query) |
Q(content__icontains=query) |
Q(user__first_name__icontains=query) |
Q(user__last_name__icontains=query)
).distinct()
contact_form = EmailUpdatesForm(request.POST or None)
if contact_form.is_valid():
contact = contact_form.save(commit=False)
contact.email = request.POST['email']
contact.first_name = request.POST['first_name']
contact.save()
profile_data = {
'email': contact.email,
'first_name': contact.first_name,
}
plaintext = get_template('email/frontpage_registered_email/email_text.txt')
htmly = get_template('email/frontpage_registered_email/email_template.html')
text_content = plaintext.render(profile_data)
html_content = htmly.render(profile_data)
subject = "{0}, thank you for registering with xx!".format(contact.first_name)
from_email = '[email protected]'
to_email = contact.email
msg = EmailMultiAlternatives(subject, text_content, from_email, [to_email])
msg.attach_alternative(html_content, "text/html")
msg.send()
return render(request, "homepage/homepage.html", {})
else:
print contact_form.errors,
context = {
'object_list': queryset_list,
'countries': countries,
'cities': cities,
'days_traveling': total_days.days,
'contact_form': contact_form,
}
return render(request, "homepage/homepage.html", context)
и выполненный на HTML, чтобы показать, что я имею в виду:
<body>
<div class="first">content</div>
<div class="second">
<form id="contact_form" method="POST" action="." enctype="multipart/form-data" novalidate>
<fieldset>
{% csrf_toke %}
{{ contact_form|crispy }}
<input class="btn..." type="submit" name="submit" value="Register" />
</fieldset>
</form>
</div>
</body>
Выше я хочу вернуть пользователь к классу сНа = «второй» ,
Спасибо.
где я помещаю этот HTML? Вы отменили мой html, это что-то, что я поставил на дно? – Robby
Его просто шаблон, который вам нужно следовать .. когда переменная form submit верна, вы увидите второй div .. если нет, то вы увидите первый div. Вы не должны ставить его внизу, вместо этого вы должны заменить содержимое. См. Контекстные переменные Django – zubhav