python django留言板

12 篇文章 0 订阅
5 篇文章 0 订阅

留言板


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>


  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值