Как ссылаться на переменные внутри HTML-шаблона? - PullRequest
1 голос
/ 29 июня 2019

У меня вопрос к начинающим.Я следовал очень быстрому уроку о том, как вводить данные из фрейма в базу данных (http://www.learningaboutelectronics.com/Articles/How-to-insert-data-into-a-database-from-an-HTML-form-in-Django.php)

<html>
<head>
<title>Create a Post </title>
</head>

<body>
<h1>Create a Post </h1>
<form action="" method="POST">
{% csrf_token %}
Title: <input type="text" name="title"/><br/>
Content: <br/>
<textarea cols="35" rows="8" name="content">
</textarea><br/>
<input type="submit" value="Post"/>
</form>
</body>

</html>

В приведенном выше HTML-коде я использовал name = "title" и name = "content" внутриviews.py

def createpost(request):
        if request.method == 'POST':
            if request.POST.get('title') and request.POST.get('content'):
                post=Post()
                post.title= request.POST.get('title')
                post.content= request.POST.get('content')
                post.save()

                return render(request, 'posts/create.html')  

        else:
                return render(request,'posts/create.html')

и это прекрасно работает, данные вводятся в базу данных.

Теперь я хочу работать с бесплатным шаблоном, который я нашел в Интернете. Я уже отредактировалдругие части HTML-файла, оставшаяся часть предназначена для работы с контактной формой, приведенной ниже. Разница в том, что они используют this.value для передачи содержимого поля. Прежде чем я смогу различить заголовок и содержимое,но теперь это всего лишь одна переменная. Как я могу ссылаться на эту переменную в моем views.py? Копия интересующего меня кода приведена ниже.

<div class="services_dark sj" id="signup">
       <div class="container">
            <h3 class="m_3"><center>Interested to join us?</center></h3>
            <div class="contact-form">
               <form method="post" action="contact-post.html">
                 <input type="text" class="textbox" value="First Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'First Name';}">
                 <input type="text" class="textbox" value="Last Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Last Name';}">
                 <input type="text" class="textbox" value="Email address" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Email address';}">
                 <input type="submit" value="Join">
               </form>
            </div>
        </div>
    </div>

1 Ответ

0 голосов
/ 29 июня 2019

this.value = ''; означает , а не относятся к значениям в представлении.Он используется для удаления заполнителя из поля <input> (и его установки обратно, поскольку поле ввода теряет фокус, а пользователь не вводит никакого содержимого).Таким образом, это некоторый JavaScript для «оживления» веб-страницы.

При этом более декларативно использовать поле placeholder="..." [html.com] здесь, как:

<input type="text" class="textbox" <b>placeholder="First Name"</b>>
<input type="text" class="textbox" <b>placeholder="Last Name"</b>>
<input type="text" class="textbox" <b>placeholder="Email address"</b>>

Есть, однако, некоторые недостатки.Например, большинство программ для перевода не переводят заполнители, чтобы не нарушать некоторые функции JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...