Django ввод не отображается - PullRequest
0 голосов
/ 25 мая 2020

Я создаю сайт, используя Django. Я пытаюсь передать ввод из index.html и отобразить его в about.html, используя view.py. Кажется, мой ввод передается, как и в URL-адресе вверху браузера. Я пытаюсь сохранить это значение в переменной и отобразить переменную в абзаце html. Однако этого не видно. Вместо того, чтобы видеть ввод, связанный с переменной, я просто вижу строку текста с именем переменной.

My index.html:

<form action="{% url 'theaboutpage' %}">
<input type="text" name="user_input">
<input type="submit" value="click here now">
</form>

My about.html:

<a href={% url 'thehomepage' %}>go back to the home page</a>
<p>{{'input_from_home_page'}}</p>

Мой views.py:

def about(request):
Hellothere = request.GET['user_input']
return render(request, 'about.html', {'input_from_home_page':Hellothere})

1 Ответ

2 голосов
/ 25 мая 2020

Просто удалите кавычки вокруг переменной в вашем шаблоне на about.html. Он должен выглядеть так:

<p>{{ input_from_home_page }}</p>

В качестве примечаний сбоку:

  1. Если информация, введенная в <input type="text" name="user_input">, является конфиденциальной, вам следует рассмотреть возможность передачи ее с помощью «POST» HTTP-метод вместо "GET". В этом случае не забудьте указать {% csrf_token %}. Чтобы получить переданную информацию, вы можете использовать: request.POST.get('user_input') в вашем представлении.
  2. Согласно соглашению , вы должны называть переменные строчными буквами. В вашем случае хорошо иметь hello_there вместо Hellothere.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...