zoukankan      html  css  js  c++  java
  • Django基础

    web框架:用于web开发,包含了各种模块和功能的集合,便于快速完成开发任务的系统。

      Django: 大而全

      Flask : 小而精

     

    Django项目创建

      1 django-admin startproject project_name 创建项目

      2 python manage.py startapp appName 创建应用

      3 python manage.py runserver IP PORT 启动项目


    MTV C模型

      M:model

      T:template

      V::views

      C:Controller(路由分配系统)

    引入静态文件

      1 将所有静态文件放到一个static的文件夹

      2 将static文件夹放到应用下

      3 STATIC_URL = '/static/' # 别名

      STATIC_ROOT=(
      os.path.join(BASE_DIR,"appBook/static"),
      )

      4 在模板首行加上{% load staticfiles %}

      5 引入文件: {% static 具体路径 %}

    一 路由分配系统

      功能:客户端访问的url的路径(path)与视图函数一一映射关系

      语法格式:

        urlpatterns = [

        url(正则表达式, views视图函数,参数,别名),

        ]


      key: 通过路径分组传参数给视图函数

      向server端传参数方式(*******):

        (1)通过数据: http://1277.0.0.1:8080/blog/?id=1200
        (2)通过路径 :http://1277.0.0.1:8080/blog/1200
        url(r"blog/(d{4})")


      无名分组url(r'^(d{4})/$', year_query),

        # year_query(request,2007)

      有名分组:url(r'^(?P<year>d{4})/(?P<month>d{2})$', year_query),

        # year_query(request,year=2010,month=12)


      name参数: url(r'^regq/', reg, name="register"),


    二 视图函数(views)

    views文件:

      def 函数名(request):

      逻辑控制代码

      return Httpresponse("")

    请求对象: request
    响应对象: httpresponse("")

    request.method : 请求方式
      request.GET : 存放 get请求数据
      request.POST : 存放 post数据


    Httpresponse("") ------>实例字符创对象
    render ------>模板的渲染 render(request,"html",{key:value}) "html":模板(template) {key:value}: Context
    redirect ------>跳转

    三 模板语言


    什么是模板?
      模板就是 html+逻辑代码


    模板语言: 渲染变量 {{}} 渲染标签 {% %}

    目的: 将变量嵌入到html中

    注意:
    1 只要带有模板语法的html都成为模板

    2 render方法渲染时 把后端变量嵌入到模板中


    关于redirect与render的区别:
    redirect走的是路径
    render返回的是模板



    {{变量}}
    {{变量|filter:参数}}


    {% Tag %}



    自定义过滤器和标签:

    过滤器与自定义标签

      {{ i|multi:5 }}

      {% multi2 4 6 5 %}

      区别 :
      filter:可以用于if等控制语句
      simpletag: 可以接收多个参数




    四 数据库与ORM(对象关系映射)


    目的: 通过python代码实现对数据库的增删改查

    在ORM中,对应关系
      表名-----------类名
      字段-----------类属性
      表中的一条记录-------------类实例对象

    class Person():
    id=..
    name=..
    age=....

    p=Person(id=3,name="egon",age=25)
    p.save()



    设计表关系:

    create table book(

    id int primary key,
    name varchar(20),
    price double(5,2),



    python manage.py makemigrations
    python manage.py migrate


    查询API:

      表.objects.all() 得到是QuerySet集合对象------ [obj1,obj2,]
      表.objects.filter(id=2) 得到是QuerySet集合对象-------[obj1,]

  • 相关阅读:
    [转]shell getopts用法
    [转]KVM虚拟化原理探究
    [转]存储相关的一些概念解释
    [转]绑定设备到驱动
    [转] SCSI, FC, ISCSI协议
    [转译]zoned storage device
    CORS jsonp
    orange---openresty.---authorization,-129.0.1.227,jwt
    vue
    hive sqoop,sqoop-hive import data
  • 原文地址:https://www.cnblogs.com/lucaq/p/7544737.html
Copyright © 2011-2022 走看看