Django_book 第五章

    添加时间:2013-6-26 点击量:

    五、模型... 1


    5.1 视图长进行数据库查询的笨办法... 1


    5.2 MTV开辟模式... 1


    5.2.1 MVC模式详解... 1


    5.2.2 数据库设备... 2


    5.3 第一个应用法度... 2


    5.3.1 Project和App的差别:... 2


    5.3.2 创建第一个app. 2


    5.3.3 python代码里定义模型... 2


    5.6 第一个模型... 3


    5.6.1 根蒂根基数据建树... 3


    5.6.2 根蒂根基数据接见... 5


    5.6.3 添加模块的字符串发挥解析... 5


    5.6.4 插入和更新数据... 6


    5.7 选择对象... 6


    5.7.1 数据过滤... 6


    5.7.2 获取单个对象... 6


    5.7.3 数据排序... 6


    5.7.4 连锁查询... 6


    5.7.5 限制返回数据... 7


    5.7.6 更新多个对象... 7


    5.7.7 删除对象... 7



    五、模型


    5.1 视图长进行数据库查询的笨办法



     django.shortcuts import render_to_response
    
    import MySQLdb

    def book_list(request):
    db
    = MySQLdb.connect(user=python, db=py, passwd=secret, host=localhost
    cursor
    = db.cursor()
    cursor.execute(
    SELECT name FROM books ORDER BY name
    names
    = [row[0] for row in cursor.fetchall()]
    db.close()
    return render_to_response(book_list.html, {names: names})


    我们连接数据库,取回一些记录,然则有一些题目得重视:



    ---我们讲数据库链接参数编码与代码之中,幻想景象应当保存在django设备中


    ---不克不及不反复同样的代码和过程,幻想景象下我们只须要查询成果


    ---我们链接mysql,参加换了数据库,不克不及不从头编写连接参数以及SQL语句



    5.2 MTV开辟模式


    5.2.1 MVC模式详解

    MVC


    model代表数据存取层


    view代表体系中选择显示数量和怎么显示项目组


    controller代表体系中按照用户输入并视须要接见模型,以决意应用哪个视图的那项目组



    django中的MVC


    M:数据存取项目组,django数据库层处理惩罚


    V:选择显示哪些数据要显示怎么显示,由视图和模板处理惩罚


    C:按照用户输入委派视图项目组,django框架按照URLconf设置,对给定URL调用恰当的python函数


    因为C由框架自行处理惩罚,而django里更存眷的是模型(model)、模板(Template)和视图(views’),django也被称为MTV框架


    M:代表model,数据存取层,该层处理惩罚与数据相干的所有事物,如何存取,如何验证有效性,包含哪些行动以及数据之间的关系等


    T:代表Template,发挥解析层,该层处理惩罚与发挥解析相干的决意,如安在页面或者其他类型文档中进行显示


    V:代表View,营业逻辑层,该层包含存取模型以及调取恰当的模板相干逻辑,可以认为是模型与模板之间的桥梁


    5.2.2 数据库设备

    1打开setting.py,找到数据库设备项,这里数据库采取mysql



    DATABASES = {
    
    default: {
    ENGINE: mysql, # 数据库是mysql,所以这里遵守规定就写mysql
    NAME: mydb, # 采取库名
    USER: root, # 连接mysql用户名
    PASSWORD: 1q2w3e4r, # 用户口令
    HOST: , #若是数据库就在本地,则可以留空
    PORT: , # 留空就是默认端口
    }
    }


    设备完成之后经由过程如下办法搜检连接,若是什么信息都没,证实连接成功



    >>>  django.db import connection
    
    >>> cursor = connection.cursor()
    >>>


    报错信息总结如下:






    You haven’t set the DATABASE_ENGIN setting yet


    我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。—— 马良《坦白书》
    分享到: