主要内容: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. shell编程之文本与日志过滤

    1:grep命令: grep -v  "char"  file_name 匹配不包括"char"的文本 grep -n -w "char" ...

  2. c++11新特性(4) lambda捕捉块

    lambda表达式中的方括号成为捕捉块,能够在这里指定怎样从所在的作用域中捕捉变量. 捕捉的意思是指能够在该lambda中使用该变量.即能够捕获外部变量在lambda表达式内使用. 能够使用两种方式来 ...

  3. java 反射提取类信息, 动态代理 和过滤某些方法演示

    java 反射提取类信息, 动态代理 和过滤某些方法演示 package org.rui.classts.reflects; import java.lang.reflect.Constructor; ...

  4. Arcgis for javascript不同的状态下自己定义鼠标样式

    俗话说:爱美之心.人皆有之. 是的.没错,即使我仅仅是一个做地图的,我也希望自己的地图看起来好看一点. 在本文,给大家讲讲在Arcgis for javascript下怎样自己定义鼠标样式. 首先.说 ...

  5. linux内核之网络协议栈

    https://www.ibm.com/developerworks/cn/linux/l-ntflt/

  6. 使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)

    最近在使用maven,顺便尝试了下tomcat部署.网上找到了很多资料但是都不是最新的,所以贴上比较新的Tomcat7部署代码和配置,方便以后回顾-->测试OK. 1. 首先是配置Tomcat ...

  7. C/C++修改常量的值

    C/C++中常量修饰const可以用来保证一些确定的量不会被一不小心改变,比如PI,一直是3.14159...... 但是不排除有时候也会需要修改常量的值,通过直接修改是不能达到目的. 比如: #in ...

  8. BZOJ 3931: [CQOI2015]网络吞吐量( 最短路 + 最大流 )

    最短路 + 最大流 , 没什么好说的... 因为long long WA 了两次.... ------------------------------------------------------- ...

  9. Oracle 批量造数据

    1.通过存储过程方式 CREATE OR REPLACE procedure XXZY.p_test is i number; begin .. loop INSERT INTO test_job V ...

  10. spoj 375 QTREE - Query on a tree 树链剖分

    题目链接 给一棵树, 每条边有权值, 两种操作, 一种是将一条边的权值改变, 一种是询问u到v路径上最大的边的权值. 树链剖分模板. #include <iostream> #includ ...