主要内容:WEB框架、Django基础

WEB框架

Web请求流程
-- 原始Web框架
-- 自定义Web框架
-- MVC 和 MTV

# Models Views Controllers
# 模版 处理请求的函数
# MVC

# Models Templates Views
# 模版 处理请求的函数
# MTV

# MTV
# models: 操作数据库
# templates: 模版,html
# views: 处理请求的函数

Django基础

1、创建Django程序
    a.  命令
            django-admin  startproject  mysite   创建project
            cd mysite
            python manage.py startapp app01      创建app01
            python manage.py startapp app02      创建app02
    b.  pycharm
            创建Django程序
            Win:
                终端,python python manage.py startapp app01    -windows
            Mac:
                option+R
                    starapp app01
    c.  目录结构
            project _name
                -project_name   ---> 配置文件(settings.py)
                -manage.py
                -app01
                -app02
                -app03
2、执行django程序
    进入project

        python manage.py runserver 127.0.0.1:8000
        点pycharm 上方的执行按钮

3、Django依赖数据库
        配置:settings
        生成数据库表:
            python manage.py makemigrations    # 生成配置文件
            python manage.py migrate        # 根据配置文件创建数据库相关

4、admin
        python manage.py createsuperuser
        ...

        http://localhost:8000/admin/

5、路由系统

        1、静态路由
        2、动态路由
            按照顺序,第n个匹配的数据,交给函数的第n个参数,严格按照顺序匹配
            模版的方法,将匹配的参数,传给指定的形式参数
        3、二级路由
            app01
                url.py

            project_name
                URL:   app01 -> include("app01.url")

6、基本的数据库操作
    ORM框架
        db first
            自己用命令创建数据库表和字典  -->  创建类
        code first
            自己写类    -->    数据库表

        使用类进行创建数据库表等操作

    a. 创建类
    b. 配置
        setttings.py

        INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            "app01",
        ]
    b. 使用命令根据类创建表
        python manage.py makemigrations    # 生成配置文件
        python manage.py migrate        # 根据配置文件创建数据库相关

    c. 默认表名
            appname_classname

    d.
        views中导入models

    e.
        POST提交数据
            settings里操作:         # 这里暂时注销掉跨站请求相关的中间件
                MIDDLEWARE_CLASSES = [
                    'django.middleware.security.SecurityMiddleware',
                    'django.contrib.sessions.middleware.SessionMiddleware',
                    'django.middleware.common.CommonMiddleware',
                   # 'django.middleware.csrf.CsrfViewMiddleware',
                    'django.contrib.auth.middleware.AuthenticationMiddleware',
                    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
                    'django.contrib.messages.middleware.MessageMiddleware',
                    'django.middleware.clickjacking.XFrameOptionsMiddleware',
                ]

Python之路Day15的更多相关文章

  1. Python之路,Day15 - Django适当进阶篇

    Python之路,Day15 - Django适当进阶篇   本节内容 学员管理系统练习 Django ORM操作进阶 用户认证 Django练习小项目:学员管理系统设计开发 带着项目需求学习是最有趣 ...

  2. 初学python之路-day15

    一.生成器send方法 # send的工作原理 # 1.send发送信息给当前停止的yield # 2.再去调用__next__()方法,生成器接着往下指向,返回下一个yield值并停止 # 案例: ...

  3. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  4. Python之路

    Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Pytho ...

  5. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  6. Python学习路程day15

    Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/en ...

  7. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  8. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  9. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

随机推荐

  1. 成都Uber优步司机快速注册攻略(外地车牌也可加入,不用现场培训)

    我加入Uber司机有一段时间了,有一些经验和感想分享给大家,让大家少走些弯路.目前加入优步不收取任何费用,不需要抢单,时间安排自由灵活,使用便捷,深受大众喜爱. 加入人民优步拼车条件:购买运行5年之内 ...

  2. Matlab单元(Cell)数据的应用

    MATLAB里面的cell有的翻译为单元有的翻译为细胞型数据.它是MATLAB的一种特殊数据类型,可以将它看作是一种无所不包的广义矩阵.组成cell的元素可以是任何一种数据类型的常数或者常量,每一个元 ...

  3. HTML5API___Web Storage

    Web Storage 是html5的本地存储规范 支持:移动平台基本支持 (opera mini除外) ie8+ff chrome 等 支持 它包含2个: sessionStorage 会话存储   ...

  4. KeCode对照表(键盘按键的获取)

    KeyCode键盘对照表: http://www.cnblogs.com/furenjian/articles/2957770.html

  5. OC中使用 static 、 extern、 const使用

    static static用于定义静态变量,静态变量只会被初始化一次,并且直到程序销毁时才会释放 static NSString *str = @"asdfa"; const co ...

  6. c++ primer plus 习题答案(4)

    p333.3 #include<iostream> #include<cstdlib> #include<cstring> #include<string&g ...

  7. 关于playframework2.5

    加入了很多新东西: 1.用akka streams 替换了大部分 iteratee-based async io,当然还有一些模块在用iteratees 2.java 的一些API 做了调整升级,以及 ...

  8. Bootstrap第一天

    1.代码引入: 第一步:在html5文档 <meta name="viewport" content="width=device-width, initial-sc ...

  9. ios 学习笔记(8) 控件 按钮(UIButton)的使用方法

    在实际开发中,对于开发者来说,更多的还是使用“自定义”按钮.将“按钮”对象的类型设置成UIButtonTypeCustom.这样一来,按钮的所有元素都将由开发者来配置和自定义. 对于一个自定义按钮来说 ...

  10. C++ enum 作用域问题和解决方案

    C++ 中的枚举类型继承于 C 语言.就像其他从 C 语言继承过来的很多特性一样,C++ 枚举也有缺点,这其中最显著的莫过于作用域问题--在枚举类型中定义的常量,属于定义枚举的作用域,而不属于这个枚举 ...