摘要:

  • Web框架概述

  • Django简介

  • Django项目创建

  • Django基础必备三件套(HttpResponse、render、redirect)


一、Web框架概述:

Python三大主流Web框架:

  • Django:大而全,自带了很多功能模块,类似于航空母舰(缺点:笨重)
  • Flask:短小精悍,自带的功能模块特别少,大部分都是依赖于 第三方模块(小而轻)
  • Tornado:异步非阻塞, 主要用于处理高IO,多路复用的情况,可以写游戏后端

每一种框架都包含3部分:

  • a: socket
  • b: 路由与视图函数
  • c: 模板渲染

Django:

  • a: 用别人的 wsgiref
  • b: 自己写的
  • c: 自己写的

Flask:

  • a: 用别人的 werkzeug
  • b: 自己写的
  • c: 用别人的 jingja2

Tornado:

  • a: 自己写的
  • b: 自己写的
  • c: 自己写的

二、Django简介:

  djang下载:推荐下载1.11.11版本
  命令行直接下载 :pip3 install django==1.11.11
  pycharm下载

  验证是否下载成功:django-admin

  •   

三、创建Django项目的方式:

  • 方式1(命令行创建):
    创建Django项目:django-admin startproject 项目名
    创建app应用:python3 manage.py startapp app01
    启动Django项目:python3 manage.py runserver
    注意:用命令行创建的Django项目默认不会自动创建templates文件夹,需要自己手动创建(注意一定要将文件夹路径添加到配置文件中)

  • 方式2:(pycharm创建)

    FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理
    创建app
    pycharm命令行创建:python3 manage.py startapp app01
    Tools下面run manage task功能栏:启动点小绿色箭头

    强调:
    1.用django一定要保证只有一个在运行状态 切记切记!!!!!!!
    2.一定记得清浏览器的缓存

  •  app(应用)的概念:
    一个Django项目就好比是一所大学
    而app就是大学里面的学院
    这里需要注意一件事:
    新创建的app需要在配置文件中注册才能生效

    INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app01.apps.App01Config'  # 可以用全称'app01'                   # 也可以简写
    ]

  • Django项目文件夹结构解读:
    应用名migrations  数据库迁移记录相关数据admin.py    django后台管理相关models.py   模型表相关views.py    视图函数相关
    项目名settings.py  配置文件urls.py      路由与视图函数的映射关系
    templates项目用到的所有的html文件
    manage.py django入口文件

  • Django项目的运行:
    命令行:定位到项目目录下之后:

    python3 manage.py runserver

    不过一般我们都在pycharm中运行:

  • 模板文件配置:(这里再提一下,前面命令行方式创建项目时候也说过)
    TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')]   #  这是template文件夹位置,'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
    ]

  • 静态文件配置:
    STATIC_URL = '/static/'  # HTML中使用的静态文件夹前缀
    STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),  # 静态文件存放位置
    ]

    注意:
    刚开始学习时可在配置文件中暂时禁用csrf中间件,方便表单提交测试。

    MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware',      # 将这一行注释掉'django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]

四、Django基础必备三件套(小白必会三板斧)

  • from django.shortcuts import HttpResponse, render, redirect

    # HttpResponse

    内部传入一个字符串参数,返回给浏览器。

    例如:

    def index(request):# 业务逻辑代码return HttpResponse("OK")

    # render

    除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

    将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

    两种给前端页面传值的方式:

    第一种:
    def reg(request):user_dict = {'name':'jason','password':'123'}return render(request,'reg.html',{'user_dict':user_dict})第二种:
    def reg(request):user_dict = {'name':'jason','password':'123'}return render(request,'reg.html',locals())    

    # redirect(重定向)

    接受一个URL参数,表示跳转到指定的URL。

    例如:

    def index(request):# 业务逻辑代码return redirect("/home/")

转载于:https://www.cnblogs.com/suguangti/p/10982452.html

Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)...相关推荐

  1. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    阅读目录 摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大 ...

  2. Django框架学习(一)Django框架安装和项目创建详解

    Django框架学习(一)Django框架安装和项目创建详解 文章目录 Django框架学习(一)Django框架安装和项目创建详解 一.简介 1.1介绍 1.2 URL 1.3.框架原理 二.安装 ...

  3. 手撸web框架即引入框架思想,wsgierf模块,动静态网页,模板语法jinja2,python三大主流web框架,django安装,三板斧...

    手撸web框架 web框架 什么是web框架? 暂时可理解为服务端. 软件开发架构 C/S架构 B/S架构 # 后端 import socketserver = socket.socket() # 不 ...

  4. python django 动态网页_Django-手撸简易web框架-实现动态网页-wsgiref初识-jinja2初识-python主流web框架对比-00...

    自己动手实现一个简易版本的web框架 在了解python的三大web框架之前,我们先自己动手实现一个. 备注: 这部分重在掌握实现思路,代码不是重点 代码中也有许多细节并未考虑,重在实现思路 手撸一个 ...

  5. 三大主流前端框架比较,程序员会怎么选?

    关于Web前端三大框架,一直以来是广大前端开发者口水战必争话题.那么今天也来趟一趟这浑水,仅仅是个人一点小的看法,轻喷哦~ 之所以Web前端框架这个话题热度那么高,很大程度上是因为受众众多.这一点要解 ...

  6. 2019年三大主流前端框架比较,程序员会怎么选?

    关于Web前端三大框架,一直以来是广大前端开发者口水战必争话题.那么今天也来趟一趟这浑水,小编个人一点小的看法,轻喷哦~ 之所以Web前端框架这个话题热度那么高,很大程度上是因为受众众多.这一点小编要 ...

  7. 2017html5框架排名,2017年最主流前端框架比较:Angular、React 和 Vue

    如果你是一名前端开发人员,或者是想要学习web前端开发技术的小伙伴,必须要了解的这三款最主流的前端框架.不仅可以帮助你拿到高薪,也能够提升你的编程思想. 目前前端开发技术主要可以分成四个方面: 1.前 ...

  8. php e框架是啥,几款主流PHP框架的优缺点评比

    PHP语言还是比较常用到的一门计算机高级语言.我们将会在这篇文章中向大家主要介绍关于PHP框架相关优缺点评比,作为一个参考风险给朋友们. 主要参考的PHP框架包括:CodeIgniter.CakePH ...

  9. [转]一次.NET Web应用程序安装包的制作经历:Sql数据库安装的3种方式 配置IIS及Web.Config文件...

    本文转自:http://www.cnblogs.com/moonspell/archive/2007/07/27/832433.html 原文如下: -----------   一次难得的安装包制作经 ...

最新文章

  1. Quartz在Spring中设置动态定时任务 .
  2. 7. Leetcode 611. 有效三角形的个数 (数组-双向双指针)
  3. 项目添加服务器上数据库正常,添加本地的数据库出现问题(The user specified as a definer ('root'@'%') does not exist)...
  4. 深度学习logit是什么?
  5. 使用join()方法 分隔拆分后的数组
  6. Kotlin的魔能机甲——KtArmor插件篇(二)
  7. Linux与Windows编译器的区别
  8. c#登陆qq空间无视JS加密
  9. 【Python基础】from pygame.base import * # pylint: disable=wildcard-import; lgtm[py/polluting-import] Mod
  10. LeCo-221. 最大正方形
  11. 如何搞定你喜欢的美术妹纸?
  12. 自制密码生成器1.0
  13. js获取最近12个月
  14. 【CVPR 2021】树状决策知识蒸馏:Tree-like Decision Distillation
  15. matlab中匿名(Anonymous)函数及bsxfun函数
  16. 认识学习的重要性,拒绝摆烂
  17. R数据分析|可视化|dplyr|Kaggle奥运会数据集(一)
  18. 2017-3-18号巽寮湾游记
  19. Vscode上传代码至Github(2 ways)
  20. 西安思源学院计算机网络技术专业,西安思源学院特色专业:计算机网络技术

热门文章

  1. C语言 十进制和二进制相互转换 - C语言零基础入门教程
  2. 计算机程序的建立命令,数控车床编程指令 编程由一系列的指令组成
  3. unix 登录mysql_实例分析mysql用户登录。
  4. rodbc 连接oracle,R語言 使用RODBC連接oracle數據庫
  5. python随机数据随概率分布_概率分布及其Python实现
  6. SSH框架(Struts+Spring+Hibernate)
  7. oracle19c监听服务启动失败,Oracle19c安装(有失败成功记录)
  8. 软件设计师考c语言,软件设计师教程考点精讲之C语言三大定律
  9. 西安工业学院计算机系王翊,西安文理学院艺术学院
  10. mysql官网 ab_MySQLAB同步