如何在html模板中引用变量?

时间:2019-06-28 22:02:27

标签: html django forms

我有一个初学者的问题。 我遵循了关于如何将框架中的数据输入数据库(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中-我在views.py中使用了name =“ title”和name =“ content”

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 :(得分:0)

this.value = '';不会引用视图中的值。它用于从<input>字段中删除占位符(并放回原处,因为输入字段失去焦点并且用户未输入任何内容)。因此,使用JavaScript可以对网页进行“动画处理”。

话虽如此,在这里使用placeholder="..." field [html.com]更具声明性,例如:

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

但是有一些缺点。例如,大多数翻译软件会翻译占位符,以便不破坏某些JavaScript功能。