python django留言板

留言板


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>


猜你喜欢

转载自blog.csdn.net/hejunw/article/details/80147553