python三大主流Web框架

Django

优点:大而全,自身携带的组件和功能特别特别多,类似于航空母舰

缺点:过于笨重,所需功能不多时,Django依然提供这些功能,占据内存

Flask

优点:小而精 自身携带的组件和功能特别特别少 就类似于游骑兵,自身功能比较少 但是第三方支持该框架的模块特别特别多

缺点:受限于第三方模块,尤其是版本更新

Tornado

优点:异步非阻塞,天然支持高并发,甚至可以开发游戏服务器

Django介绍

参照 https://baike.baidu.com/item/django/61531?fr=aladdin

https://www.cnblogs.com/Dominic-Ji/articles/10982272.html

https://code.ziqiangxuetang.com/django/django-intro.html

Django是一个开源MVC(模型model,视图view,控制器Control)模式的Web应用框架,由Python写成。其核心组件有:

  • 用于创建模型的对象关系映射
  • 为最终用户设计较好的管理界面
  • URL设计
  • 设计者友好的模板语言
  • 缓存系统

它其实也是一个MTV的设计模式,即模型Model,视图View和模版Template。由于控制器接受用户输入的部分由框架自行处理,因此,django更关注的是模型、模板和视图,它们各自的职责是

层次 职责
模型(Model),数据存取层 处理与数据相关的所有事务:存取、验证有效性、包含哪些方法以及数据之间的关系等
模板(Template),展示层 处理与数据展示相关的事务:页面美化或在其他类型文档中的展示效果
视图(View),业务逻辑层 存取模型及调用合适的模板等相关逻辑,是模型和模板的桥梁

Django 安装

  • 注意事项

    • 计算机名称不能有中文
    • 项目文件不能有中文
    • 一个pycharm窗口就是一个单独的完整的项目
  • 版本选择

推荐使用1.11.09~1.11.13版本(稳定)。

ps:如果已安装其他版本,无须卸载,在安装新版本时,会自动先卸载之前的版本再安装

  • 安装

命令行:pip3[根据python解释器] install django=1.11.11[版本号]

测试是否安装成功命令行:django-admin

  • 基本命令(cmd中执行)

    • 创建django 项目(背下来)

    注意:命令行创建的django项目没有templates模板文件夹,需要手动创建,且自行在settings文件中配置路径

    django-admin.py startproject 项目名称[必须是合法的python包名]
    • 启动django项目(背下来)

    注意:必须在项目目录下执行,runserver 后可接主机名和端口号,默认是本机地址127.0.0.1:8000

    python3[解释器名称] manage.py runserver [host:port]
    • 创建app(application,相当于一个个独立的功能模块)(背下来)

    一般一个项目有多个app,通用的app也可以在多个项目中使用

    注意:必须在项目目录下创建,创建完成后一定要去settings.py 中配置

    python3 startapp app名称[必须是合法的python包名]

    django-admin.py startapp app名称
  • django项目文件介绍

    • urls.py:路由视图函数(views.py)对象关系,项目的总路由
    • views.py:视图函数(日常编程全在这,重点掌握)
    • models.py:模型类(ORM)
    • templates文件夹:存放views.py中的函数渲染的html模板
    • admin.py:django后台管理
    • settings.py:项目配置文件,比如数据库配置、静态文件的位置
    • tests.py:测试文件

django入门必会三板斧-HttpResponse,render,redirect

HttpResponse:将字符串返回给浏览器

# views.py
def index(request):
# 业务逻辑代码
return HttpResponse('hello, this is index code -from HttpResponse')

render:将html文档(动态页面也可)返回给浏览器

注意:模板的渲染,将数据在后端按照模板语法放入html文档中对应的位置

# views.py
def index(request):
# 业务逻辑代码
# # 传参:2个参数,第一个参数必须是request,第二参数是返回的html文档
# return render(request, 'index.html')
# 传参:3个参数,第一个参数必须是request,第二参数是返回的html文档
# 第三参数是保存数据的字典参数,将数据填充到html文档后,再将html文档返回
# 类似jinja2
return render(request, 'index.html', {'name': 'lee', 'hobby': ['study', 'smoke']})

redirect:重定向,转到指定的URL

# views.py
def index(request):
# return redirect('/login/') # 本地的路径
return redirect('https://www.luffycity.com/home')

踩过的坑

1.代码修改了,刷新页面没有效果

可能是同一个端口开了多个服务,django运行的是第一次启动的服务;也有可能时浏览器缓存问题

Django简介、安装和入门的更多相关文章

  1. 【django入门教程】Django的安装和入门

    很多初学django的朋友,都不知道如何安装django开发以及django的入门,今天小编就给大家讲讲django入门教程. 注明:python版本为3.3.1.Django版本为1.5.1,操作系 ...

  2. Django简介及安装

    Django简介及安装 我们都知道,Django是一种基于Python的Web开发框架. 那么,什么是Web开发?Web开发指的是开发基于B/S架构,通过前后端的配合,将后台服务器的数据在浏览器上展现 ...

  3. python框架Django简介与安装

    Django简介 关注公众号"轻松学编程"了解更多. 发布于2005年,最负盛名且成熟的Python网络框架 最初用来制作在线新闻的Web站点 开源Web框架,遵守BSD协议 BS ...

  4. Django简介以及安装

    目录 前言 Web框架本质 服务器和应用程序 基于第三方模块实现Web框架 Python三大主流Web框架 django flask tornado Django框架介绍 安装 创建项目 创建App ...

  5. Django简介

    Django, 应该读作jan go,读音演示 D是不发音的---发音的---音的---的--- django简介:urls.py网址入口,关联到views.py views.py处理用户发出的请求, ...

  6. Django之web应用、http协议和django简介

    等了好久终于等到今天,盼了好久终于把梦实现,啦啦啦.....学习python两个多月了,终于等到python的高潮,老师说要是把Django学会了,python的web开发就差不多了,也相当于迎来了p ...

  7. Django简介及Django项目的创建详述

    Django简介 Django是一个开源的Web应用框架,由Python写成.但是,百度百科中讲它采用了MVC框架模式,其实这个解释不准确. 确切的讲,Django的模式是:路由控制+MTV模式.所谓 ...

  8. Kotlin新语言简介和快速入门知识点

    Kotlin新语言简介和快速入门知识点 简介:Kotlin是最近由JetBrains发布的一种基于JVM的编程语言,已经被Google宣布为开发Android App的一级语言Kotlin有着与Jav ...

  9. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...

  10. Django准备知识-web应用、http协议、web框架、Django简介

    一.web应用 Web应用程序是一种可以通过web访问的应用程序(web应用本质是基于socket实现的应用程序),程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 ...

随机推荐

  1. 如何减少idea的内存消耗

    如何减少idea的内存消耗 标签: idea 内存 内存泄露 异常 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u014028392/articl ...

  2. @loj - 2290@ 「THUWC 2017」随机二分图

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 一个左右各 n 个点的二分图,图中的边会按照一定的规律随机出现. ...

  3. 添加ODBC数据源

    添加ODBC数据源

  4. H3C Telnet配置例子

  5. 提高github下载速度的方法【100%有效】可达到2MB/s

    因为大家都知道的原因,在国内从github上面下载代码的速度峰值通常都是20kB/s.这种速度对于那些小项目还好,而对于大一些的并且带有很多子模块的项目来讲就跟耽误时间.而常见的的方法无非就是修改HO ...

  6. 用adblock过滤页面上固定位置的悬浮窗

    现在各种网站都喜欢加入position:fixed的悬浮窗,这些悬浮窗可以是分享按钮,可以是二维码,可以是各种烦人的按钮. 因为这些悬浮窗未必是广告,所以adblock很少自动屏蔽它们. 可这些悬浮窗 ...

  7. JPA批量操作及性能比对

    假设需要批量插入10000条实体数据至数据库.如下是各个操作方法及耗时 环境Spring boot 1.JDBC(JdbcTemplate) pom.xml <dependency> &l ...

  8. 【React】react项目引入echarts插件 K线图

    参考npm文档:https://www.npmjs.com/package/echarts-for-react 由于npm上已经有针对react项目出的echarts插件,所以在这里直接安装 第一步: ...

  9. H3C 单路径网络中环路产生过程(2)

  10. redux.js的基本使用

    1.先是安装reduxJx, cnpm i --save rudux 2.创建一个store的js文件 3.使用import来引用 redux import { createStore } from ...