留言板
views.py
# 留言模块
def liuyan(request):
if request.method == 'GET':
# 取出当前在models表中所有的留言信息 ,返回到前端
liuyansget = LiuyanModel.objects.all()
return render(request, "rc_test/message.html", context={"liuyansget": liuyansget})
else:
# post请求
print ("post request")
liuyanspost = LiuyanModel.objects.all()
print liuyanspost
lform = liuyanform(request.POST)
if lform.is_valid(): # 如果填写的信息符合要求,正确的方式
liuyan = LiuyanModel()
liuyan.name = lform.cleaned_data.get("name")
liuyan.email = request.POST.get("email")
liuyan.address = request.POST.get("address").encode()
liuyan.message = request.POST.get("message")
liuyan.save() # 保存到models表中
return HttpResponseRedirect(reverse("liuyan"))
# return render(request, "rc_test/message.html",context={"liuyan":liuyanspost})
else: # 错误的方式
return render(request, 'rc_test/message.html', context={'mess_form': lform,
'msg': '格式不正确哦!',
'liuyan': liuyanspost
})
models.py
#创建一个留言信息表
class LiuyanModel(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=50)
email= models.EmailField()
address = models.CharField(max_length=50)
message = models.TextField()
add_time = models.DateTimeField(auto_now=True)
def __repr__(self):
return 'LiuyanModel<name = %s ,email=%s ,address = %s,message =%s,addtime =%s>' %(self.name,self.email,self.address,self.message,self.add_time)
templates ,只写了form表单
<form action="/test/liuyan/" method="post" class="smart-green">
{% csrf_token %}
<h1>留言信息
<span>请留下你的信息.</span>
</h1>
<label>
<span>姓名 :</span>
<input id="name" type="text" name="name" value="{{ mess_form.name.value }}" placeholder="请输入您的姓名"/>
<div class="error-msg"></div>
</label>
<label>
<span>邮箱 :</span>
<input id="email" type="email" value="{{ mess_form.email.value }}" name="email" placeholder="请输入邮箱地址"/>
<div class="error-msg"></div>
</label>
<label>
<span>联系地址 :</span>
<input id="address" type="text" value="{{ mess_form.address.value }}" name="address" placeholder="请输入联系地址"/>
<div class="error-msg"></div>
</label>
<label>
<span>留言 :</span>
<textarea id="message" name="message" placeholder="请输入你的建议">{{ mess_form.message.value }}</textarea>
<div class="error-msg"></div>
</label>
<div class="success-msg"></div>
<label>
<span> </span>
<input type="submit" class="button" value="提交"/>
</label>
<div>
<span>{{ msg }}</span>
</div>
{% csrf_token %}
<div>
<h2>
{% for liuyan in liuyanspost %}
<ul style="list-style-type:none">
<li>是谁留的言:{{ liuyan.name }}</li>
<li>邮箱:{{ liuyan.email }}</li>
<li>留言:{{ liuyan.message }}</li>
<li>联系地址:{{ liuyan.address }}</li>
<li>留言时间:{{ liuyan.add_time |timesince }}</li>
</ul>
{% endfor %}
</h2>
</div>
</form>
<br>
<form action="/test/liuyan/" method="get" class="smart-green">
<div>
<h2>
{% for liuyan in liuyansget %}
<ul style="list-style-type:none">
<li>是谁留的言:{{ liuyan.name }}</li>
<li>邮箱:{{ liuyan.email }}</li>
<li>留言:{{ liuyan.message }}</li>
<li>联系地址:{{ liuyan.address }}</li>
<li>留言时间:{{ liuyan.add_time |timesince }}</li>
</ul>
{% endfor %}
</h2>
</div>
</form>