После того, как пользователь заполнит форму на моем сайте, я рендерю пользователя (запрос, html, контекст). Я хотел бы вернуть пользователя в ту же часть страницы после регистрации. Я не использую никаких интерфейсных фреймворков (например, angular — это мой следующий проект). Как мне это сделать?
просмотров.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>
В приведенном выше я хочу вернуть пользователя в div class="second".
Спасибо.