11月30日学习内容整理:模版语言for循环补充,request的一些补充内容

1、for循环若循环对象为空时:

{%   empty  %}

  当循环对象为空时要做的事儿

 

2、request的get方法只能取到一个值,若请求发过来的数据是一个列表,就用getlist来取

 

3、ajax的请求数据中若有嵌套的数据类型,那直接发送的话可能会有问题,要用json做序列化

 

今天主要讲老师表的增删改查,结合跟class表的关联关系

 

4、当我们多次的去连接数据库的时候,就应该把对数据库的操作单独写一个文件,把连接保存住,用完以后再关闭,这里举例一种自动关闭连接的写法,利用了类的内置方法

import pymysql
class SQLManager(object):

    def __init__(self):
        self.connect()

    def connect(self):
        self.conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="", db="mysite", charset="utf8")
        self.cursor = self.conn.cursor(cursor=pymysql.cursors.DictCursor)

    def get_list(self, sql, args=None):
        self.cursor.execute(sql, args)
        result = self.cursor.fetchall()
        return result

    def close(self):
        self.cursor.close()
        self.conn.close()

    def __enter__(self):          #利用这两个内置方法
        print("startttttttttttttttt........")
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.close()
        print("closeeeeeeeeeeeeeeeeeeee.....")
#在别的文件中这样写就可以实现连接自动关闭的功能   
 with SQLManager() as db:
        class_list = db.get_list("select id, name from class")

 

posted @ 2017-11-30 14:24  九二零  阅读(108)  评论(0编辑  收藏  举报