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文件中配置路径

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

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

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

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

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

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

    2. 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:将字符串返回给浏览器

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

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

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

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

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

  1. # views.py
  2. def index(request):
  3. # return redirect('/login/') # 本地的路径
  4. 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. linux扫盲之CPU模式

    相信研究linux的大大都知道linux有实模式.保护模式.虚拟模式三种. 不多说,拷贝黏贴!  80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式.只有在刚刚启动的时候是rea ...

  2. Android Studio(八):Android Studio设置教程

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  3. spark sql thrift server

    ### create data ## cat ## echo "$(date ;echo ## cat }'";exit}' ..} do passwd) echo "$ ...

  4. Treap(树堆)入门

    作者:zifeiy 标签:Treap 首先,我么要知道:Treap=Tree+Heap. 这里: Tree指的是二叉排序树: Heap指的是堆. 所以在阅读这篇文章之前需要大家对 二叉查找树 和 堆( ...

  5. 同一个页面 andriod和ios设备上的按钮颜色不一致

    andriod系统显示蓝色的按钮,正常:ios设备显示灰色的按钮,不正常. style属性添加-webkit-appearance: none;

  6. 使用vuex来管理数据

    最近一直工作比较忙,博客已经鸽了好久了,趁着今天是周末,写点东西吧 使用vuex来管理数据 最近一直在用vue做项目,但是却从来没真正去用过vuex,因为一直感觉很复杂,其实真正去研究一下啊,就会发现 ...

  7. C# 将 Begin 和 End 异步方法转 task 异步

    在 .NET Framework 有两个不同的异步方法,一个是 Asynchronous Programming Model (APM) 另一个是 Task-based asynchronous pa ...

  8. Common Logging包装设计

    类设计 LogFactory根据当前环境加载具体的Log实现: 1.从缓存中加载LogFactory 2.从系统属性org.apache.commons.logging.LogFactory 中加载L ...

  9. vue-learning:13 - js - vue作用域概念:全局和局部

    目录 全局作用域:Vue对象 全局api 局部作用域: 实例对象vm 实例api 组件component 组件配置选项 在引入Vue文件时,就相当于拥有了一个全局Vue对象. 在var vm = ne ...

  10. hdu 6852Path6(最短路+最小割)

    传送门 •题意 有n个城市,标号1-n 现花费最小的代价堵路 使得从1号城市到n号城市的路径边长 (注意只是变长不是最长) 堵一条路的代价是这条路的权值 •思路 在堵路以前,从1到n的最小路径当然是最 ...