#django #django-sessions
#django #django-сеансы
Вопрос:
У меня есть переменная сеанса для названия компании, сохраненная в моем представлении django из формы ввода пользователя. Когда я пытаюсь использовать это в более позднем представлении, независимо от того, что я пытаюсь, оно извлекает пару {ключ: значение}, а не только значение
Число просмотров:
def start(request):
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = QuizTakerForm(request.POST )
# check whether it's valid:
if form.is_valid():
# process the data in form.cleaned_data as required
post = form.save(commit=False)
post.user = request.user
post.save()
request.session['obj_id'] = post.id
request.session['company_name'] = form.cleaned_data
# redirect to a new URL:
return HttpResponseRedirect('industry/')
....
def Gov_q1(request):
company_name = request.session.get('company_name')
print(company_name)
question = Question.objects.get(pk=24)
context = {'question': question, 'company_name': company_name}
return render(request, 'ImpactCheck/detail.html', context)
HTML:
<h1> Hi my name is {{ company_name }} </h1>
<h1>{{ question.text }}</h1>
<form action="." method="post">
{% for answer in question.answer_set.all %}
<input type="radio" name="answer" id="answer" value="{{ answer.id }}">
<label for="answer">{{ answer.answer_text }}</label><br>
{% endfor %}
<input type="submit" value="Submit">
</form>
Я также пробовал company_name=request.session[‘company_name’], но оба затем отображаются как {‘company_name’: ‘test_company’}, а не как test_company .
Ответ №1:
К вашему сведению, если у кого-то есть подобная проблема, которую я обошел с помощью
def Gov_q1(request):
id=request.session.get('obj_id')
company_name= QuizTakers.objects.get(pk=id)
question = Question.objects.get(pk=24)
context = {'question': question, 'company_name': company_name, 'cn': cn}
return render(request, 'ImpactCheck/detail.html', context)