Я создаю сайт типа доски объявлений. После поиска почтового индекса на странице индекса пользователь попадает на страницу search_results
. На этой странице находится список вакансий в этой области и форма для подписки пользователей по электронной почте, чтобы получать уведомления о новых публикациях. Вот представление:
def search_results(request):
query =request.GET.get('query') # zip code
jobs = []
# logic for querying Job objects and filling 'jobs' list omitted
form = JobSeekerEmailForm() # pass email subscription form to template
return render(request, 'job/search_results.html', {'query':query, 'jobs': jobs, 'form':form})
В шаблоне search_results. html, если пользователь отправляет JobSeekerEmail()
, они перенаправляются в представление email_subscription
:
<form action="{% url 'email_subscription' %}" method="POST">
<input type = 'text' placeholder="Email"/>
<button type="submit" name="button">Submit</button>
</div>
{% csrf_token %}
</form>
В этом представлении я просто сохраняю электронную почту и пытаюсь перенаправить обратно на search_results
, чтобы пользователь мог продолжить просмотр заданий в почтовом индексе, который они искали:
def job_seeker_email(request):
if request.method == 'POST':
form = JobSeekerEmailForm(request.POST)
if form.is_valid():
form.save()
return redirect('search_results') # search results will throw an error because there is no longer a 'query' value
, но это не удастся. Есть ли способ передать исходное значение query
в представление job_seeker_email
, чтобы оно могло передать его обратно в представление search_results
? Я видел requests.sessions
ответов, но я не думаю, что это то, что мне нужно здесь?