#django #session #django-sessions
#django #сеанс #django-сеансы
Вопрос:
В настоящее время я использую Django, чтобы пользователи вводили информацию через форму, а затем данные сохраняются как сеанс. Затем я использую этот сеанс для вызова введенных данных в других представлениях. Мне было интересно, можно ли использовать эти введенные данные, хранящиеся в этих сеансах, в моих URL-адресах?
def search(request):
result = {}
context = RequestContext(request)
t = request.session.get("tick")
if request.method == 'POST':
search = Search(data=request.POST)
if search.is_valid():
ticker = search.cleaned_data['search']
request.session["tick"] = ticker
else:
print search.errors
else:
search = Search()
return render_to_response('ui/search.html', {"result":result}, context)
и вот мой соответствующий urls.py:
url(r'^search/
Могу ли я каким-либо образом использовать сеанс, который сохраняется как 't = request.session.get ("tick")' в моих URL-адресах, чтобы я мог получить URL-адреса, соответствующие введенным пользователем данным? Например, если пользователь ввел "привет", тогда мои URL-адреса будут отображаться / search / hello.
Спасибо.
Ответ №1:
Да, вы можете сделать это так:
urls.py
url(r'^search/
views.py
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
def search(request, query=None):
result = {}
context = RequestContext(request)
if request.method == 'POST':
search = Search(data=request.POST)
if search.is_valid():
ticker = search.cleaned_data['search']
return HttpResponseRedirect(reverse('search', kwargs={'query': ticker}))
else:
print search.errors
else:
search = Search()
return render_to_response('ui/search.html', {"result":result}, context)
Могу ли я каким-либо образом использовать сеанс, который сохраняется как 't = request.session.get ("tick")' в моих URL-адресах, чтобы я мог получить URL-адреса, соответствующие введенным пользователем данным? Например, если пользователь ввел "привет", тогда мои URL-адреса будут отображаться / search / hello.
, views.search, name='search'),
Спасибо.
Ответ №1:
Да, вы можете сделать это так:
urls.py
views.py
, views.search, name='search'),
url(r'^search/(?P<query>. )/views.py
, views.search, name='search'),
Могу ли я каким-либо образом использовать сеанс, который сохраняется как ‘t = request.session.get («tick»)’ в моих URL-адресах, чтобы я мог получить URL-адреса, соответствующие введенным пользователем данным? Например, если пользователь ввел «привет», тогда мои URL-адреса будут отображаться / search / hello.
Спасибо.
Ответ №1:
Да, вы можете сделать это так:
urls.py
views.py
, views.search, name=‘search’),
views.py
, views.search, name=‘search’),Могу ли я каким-либо образом использовать сеанс, который сохраняется как ‘t = request.session.get («tick»)’ в моих URL-адресах, чтобы я мог получить URL-адреса, соответствующие введенным пользователем данным? Например, если пользователь ввел «привет», тогда мои URL-адреса будут отображаться / search / hello.
Спасибо.
Ответ №1:
Да, вы можете сделать это так:
urls.py
views.py