主要内容: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. HDU 1012 u Calculate e

    题解:直接模拟 #include <cstdio> int main(){ puts("n e");puts("- -----------");pu ...

  2. Android开发(26)--补间动画(Tween)的实现

    补间动画(Tween Animation) 补间动画与逐帧动画在本质上是不同的,逐帧动画通过连续播放图片来模拟动画的效果,而补间动画则是通过在两个关键帧之间补充渐变的动画效果来实现的.补间动画的优点是 ...

  3. Lua环境配置 windows + VS

    环境搭建: 首先从 http://www.lua.org/ftp/下载lua 源码, 我选择的是lua-5.1.5.tar.gz 我的开发环境是Win7+ VS2010 打开VS2010新建一个工程L ...

  4. hdu 4738 Caocao's Bridges(2013杭州网络赛丶神坑)

    就是求最小权值的桥..不过有好几个坑... 1:原图不连通,ans=0. 2: m<=n^2 显然有重边,重边必然不是桥,处理重边直接add(u, v, INF). 3:   最小桥边权为0的时 ...

  5. 沙朗javascript(两)正则表达式

          以下提到的文章javascript基础,今天我说些什么javascript正则表达式正确.      说到这首先要问了,什么是正則表達式,正則表達式能干什么? 正則表達式:一个正則表達式就 ...

  6. (译)Node.js的 EventEmitter 教程

    原文标题:Node.js EventEmitter Tutorial 原文链接:http://www.hacksparrow.com/node-js-eventemitter-tutorial.htm ...

  7. iOS 发布应用时屏蔽NSLog

    在开发过程中,经常需要使用NSLog来进行调试,但是NSLog是非常影响性能的,所以我们应该在发布应用时屏蔽掉NSLog,但是如果通过手工的去一行一行的改得话,未免太枯燥与费时了,庆幸的是,我们可以通 ...

  8. JavaSE_ 多线程 总目录(23~24)

    JavaSE学习总结第23天_多线程123.01 多线程程序的引入23.02 进程概述及多进程的意义23.03 线程概述及多线程的意义23.04 并行和并发的区别23.05 Java程序运行原理和JV ...

  9. BZOJ 1497: [NOI2006]最大获利( 最大流 )

    下午到周六早上是期末考试...但是我还是坚守在机房....要挂的节奏啊.... 这道题就是网络流 , 建图后就最大流跑啊跑啊跑... --------------------------------- ...

  10. JS 修改元素

    var ele; window.onload=function(){ ele=document.createElement('div'); ele.id='myEle1'; ele.style.bor ...