django学习二

  1. get : www.baidu.com?s=python&j=java
    • post:
  2. exclude: 查询不满足条件的所与信息
  3. 五一节作业。 cdtopspeed.
    • banner

表关联

  • 1:1 OneToOneFields
  • 主键和外键是一对一的关系,在关联表中,要一一对应。
  • 拓展表找主表; 拓展信息对象。关联字段。
  • 用法: 在表二中,使用
    a = models.OneToOneField(表一名, on_delete=models.CASCADE)
    1. 表二中,通过 .a 直接查询表二的关联信息项
    2. 表一中,通过 .表二名,直接查询关联信息。
  • 1:n
  • m : n

  • 静态页面加载,

    1. static/images/xxx.png
    2. {% load static %}
      {% %}
  • on_delete
    cascade,主表删除,从表也删除
    set_null,主表删除,从表关联字段设为空
    protect, 不让删除
    set_default 主表删除,从表设置为默认值。

review

*virtualenv –no-site-packages -p xxx filename
1. django-admin startproject
2. python startapp
3. settings —> installed_apps 修改databases 修改templates, 修改时区,修改语言。
* templates –> os.path.join(BASE_DIR, ‘templates’)
* databases –> mysql
* STATICFILES_DIRS=[]
4. init–> pymysql
5. urls
app
1. models 定义类,定义表头,给定表头的类型
2. urls 指定连接,连接方法。
3. views, 对应urls中的方法,def, 两种返回方式
* HttpResponse(”) 直接在页面中返回
* render(request,’html’,{‘xx’: xx}) 返回一个templates中的一个html页面,并传入的字典参数。
* 可以在函数中执行操作,可以连接数据库,或者获取html中的值,可以修改数据库的值,也可以吧数据库中的值,显示在HTML中。
1. 通过获取网页中的值,来给数据库增加字段。
* xxx = request.POST.get(‘xxx’) 获取页面中的值并存储起来。
* if request.method == ‘GET’: 返回一个页面。
* if request.method == ‘POST’: 进行存储操作,并可以赋值,返回一个指定的网页。
* table-name.objects.create(tb_name = xxx),将xxx的值,赋值给数据库的某个字段。
2. 通过查询数据库,来获取数据库中的条件筛选的值,并在页面中显示出来
* 三种方法,一对一,一对多,多对多三种类型,根据不同类型,选用不同的方法。
* 一对一,OneToOneField
1. 一个表是另一个表的子表,子表和母表一般在一个models里。子表的models定义时,加上 xxx = models.OneToOneField(母表名,on_delete=models.CASCADE)
2. 在views中使用时,如果是子表查母表,通过.xxx可以直接获得母表的相关信息。如果母表查子表,通过 .

猜你喜欢

转载自blog.csdn.net/zhangli709/article/details/80146616