Django学习笔记

models

用来控制后台:

  • 继承自models.Model的类用于数据库的操作:
      其中可以有继承关系用来表示关系型数据库的关系
      数据库的东西里面有一些类型,比如CharField TextField ForeignKey DateTimeField
      所有对于数据库的操作都可以通过django的数据库层来操作,比如.filter(state)用来查找 .order_by(columnname)用来排序 除非对models做了修改,这时候需要对数据库的直接操作
      每一个继承自models。Model类的类,django会为其生成一张表表示一个关系
    
  • 继承自admin.ModelAdmin的类主要可以对后台的管理界面做一些修改:
      其中有一些特殊的变量用以控制django后台的元素比如 list_display
      admin。site。register(models)可以在后台开一个添加按钮界面,里面可以添加一些图书信息
    

views

views利用函数控制返回的页面,负责装载数据返回完整的页面:

  • 模板页面放在app目录下的templates下面:
      相当于一个html页面。里面可以包含css内容,可以被有views。py中的函数访问存取
      在1.8.3中控制templates目录的由以前的template——dirs的tuple转为了settings.py的templates下的dirs,转为了数组
    
  • views就放在app的目录下面,里面没一个函数都可以直接在urls中包含使用
      HTTPResponse函数返回的是一个完整的http相应请求其中包含header什么的,而传入的内容是一个html页面,是字符串的形式,,一般来说可以直接传入一个html页面,但是还有css,这点暂时不太清楚,不过可知的动态页面可以由从class。object。all 获取具体的数据库列,然后用loader。get_template获取html页面 用render(Context())装载数据
    

urls:

  • url的访问控制在mysite的urls.py文件的urlPattern数组中:
      每一个url都有前面的url函数作为转换函数,url中则是一个映射信息,从url映射到视图函数
    
  • 在最新的版本中,有一些关于urls的改动:
      在django的1.8.3版中没有django。conf。urls。default,它把default挪到了urls里面,这是以前的教程所没有更新的
    
  • post and get:
     默认的饿访问方式是url访问中的get,post发送数据的话在html中嵌入action使用一个方法methods方法名//方法名可以任意存储数据,在服务器端使用request.方法名获得数据,使用 ‘key’ in request判断数据的存在性
    

其他:

  1. appname

     app的名字尽量不要包含大写,也不要太长,不然可能出现django找不到app中的modules中的情况
    
  2. quicktest for learning

      在django的工程目录下,如果是1.8.X的django,可以敲python manage.py shell 进入工程shell进行快速测试与学习
    
  3. 关于project下自动生成的同名app
      如同题目,那个同名文件夹是自动生成的app里面的所有操作和普通的app相同,不过在启动服务器以后会默认调用同名app下的内容,比如urls之类,我们可以直接把主页和404页面放到这个app下面
    

posted @ 2015-07-22 11:12  SproutFicF  阅读(167)  评论(1编辑  收藏  举报