主要内容: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. 使用Qt 开发图形界面的软件(尘中远)

    3DSlicer, a free open source software for visualization and medical image computing AcetoneISO:镜像文件挂 ...

  2. rsyslog 不打印日志到/var/log/messages

    *.info;mail.none;authpriv.none;cron.none;local3.none /var/log/messages 表示 所有来源的info级别都记录到/var/log/me ...

  3. C模块回调Lua函数的两种方法

    作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ...

  4. Hibernate 配置详解(12) 其实我也不想用这么土的名字

    hibernate.hbm2ddl.import_files 这个配置用于在hibernate根据映射文件执行DDL之前,如果我们自己设置了要事先运行的SQL文件,hibernate就会先执行这些SQ ...

  5. 第八届河南省赛B.最大岛屿(dfs)

    B.最大岛屿 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 30  Solved: 18 [Submit][Status][Web Board] De ...

  6. [01] Preparation - Sitecore Installment

    Sitecore CMS 是一套内容管理系统商业软件,其底层平台依托于微软.net技术.由于最近的一个项目采用了这个平台,所以有机会接触到了这个产品. 虽然接触该产品已有一段时间,但总感觉对这个产品缺 ...

  7. 多个viewpager可能产生的问题

    由于Fragment的方便性,现在很多人开始大量使用Fragment. 今天使用时遇到各问题,记录下来并分享下. 使用Fragment都会用FragmentActivity ,特别是在用到ViewPa ...

  8. 使用Xib添加自定义View

    1.新建Cocoa Touch Class以及UI View,2者同名 2.设置UI View的File's Owner——Custom Class为之前新建类 3.设置Xib中View与类关联 4. ...

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

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

  10. 在数组中找几个数的和等于某个数[LeetCode]

    首先明确一点,这个方面的问题设计到的知识点是数组的查找的问题.对于类似的这样的查找操作的具体办法就是三种解决方法: 1.暴力算法,多个for循环,很高的时间复杂度 2.先排序,然后左右夹逼,但是这样会 ...