留言板
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>