在说明django模型之前,首先来说明一下django的生命周期,也就是一个请求到达django是如何处理的。【暂时不包含中间件】

浏览器的请求---->到达django中的urls中找到对应的映射------>到达视图层(返回的是html页面,html页面来自模板(templates)中的前端文件)---->前端中若是有数据需要来自后端的服务器,则需要模型(model),数据处理完毕之后通过return函数返回给客户端。【不太准确,一个简单的mvc模型】

通过以上描述,我们知道,模型的主要作用就是用来和后端交互。django是用python写的,因此在交互时可以使用python的orm(对象关系映射)来完成操作,但是django自带的model已经非常完善了,因此我们不需要在使用其他的orm。

为了更直观的显示model的作用,首先我们使用python的orm来完成一个前后端交互的实例。

测试环境: python2.6, django1.10.8

在python3中需要使用pymysql代替MySQldb.

基于前端的显示(前端代码如下),我们需要创建如下的表,可以使用python的MySQLdb连接mysql服务器使用orm映射创建,但是这里为了方便直接在MySQL上创建,如下:

这里的html代码和css代码分开了写,需要在html中引入css代码!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <link rel="stylesheet" type="text/css" href="/static/main_page.css">
</head>
<body>
    <div class="out-border">
        <div class="meg1">
            <span class="sp1">留言板</span>
        </div>
        <form action="/main/" method="post">
            <div class="itemc">
                <span class="left_content">
                    <b class="star">*</b>
                    用户名
                </span >
                <input type="text" name="user" class="user_meta">
            </div>
            <div class="itemc">
                <span class="left_content">
                    <b class="star">*</b>
                    密码
                </span>
                <input type="password" name="pwd" class="user_meta">
            </div >
            <div class="itemc">
                <span class="left_content">
                    <b class="star">*</b>
                    邮箱
                </span>
                <input type="email" name="email" class="user_meta">
            </div>
            <div class="itemc">
                <span class="left_content">
                    <b class="star">*</b>
                    留言
                </span>
                <!-- textarea两个标签不要有空格,不然光标不会放到第一个位置-->
                <textarea name="message" id="Message" cols="30" rows="10"></textarea>
            </div>
            <input type="submit" class="betn_megSubmit" value="提交留言">
           {% csrf_token %}
        </form>
    </div>
</body>
</html>
main.html

相关文章: