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使用中文api鼠标提示的设置

    最近都在用IDEA来练习,发现有的方面确实比eclipse好用,eclipse里面可添加中文的API 提示,对初期的我帮助很大,但是IDEA却没有找到添加的地方,一直以来还以为不支持这个功能,比较遗憾 ...

  2. oracle函数 INITCAP(c1)

    [功能]返回字符串并将字符串的第一个字母变为大写,其它字母小写; [参数]c1字符型表达式 [返回]字符型 [示例] SQL> select initcap('smith abc aBC') u ...

  3. getopt、getopt_long和getopt_long_only解析命令行参数

    一:posix约定: 下面是POSIX标准中关于程序名.参数的约定: 程序名不宜少于2个字符且不多于9个字符: 程序名应只包含小写字母和阿拉伯数字: 选项名应该是单字符或单数字,且以短横 '-' 为前 ...

  4. Top 10 open source projects of 2015

    Top 10 open source projects of 2015 Posted 15 Dec 2015Jen Wike Huger (Red Hat)Feed 188 up 31 comment ...

  5. HTML静态网页--JavaScript-语法

    1.基本数据类型: 字符串.小数.整数.日期时间.布尔型等. 2.变量: 都是通用类型var,可以随便存储其他类型的值,可以直接使用,不用定义,但习惯上定义.定义变量:var a:所有变量定义 都用v ...

  6. H3C 星型以太网拓扑扩展

  7. C# 递归、try

    一.递归 递归:在函数体内调用本函数自身,直到符合某一条件不再继续调用 两个需要满足的条件1.有反复调用自身函数的过程2.有函数的出口:有不再继续执行的条件 例子: 案例: (一).输入正整数n,求n ...

  8. Vue之webpack的安装与配置及其简单应用

    一.文件结构 二.index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  9. AMD-require.js模块加载原理

    项目中使用大了require.js,功能实现,现重新学习下模块加载原理相关知识,借鉴如下博文:https://blog.csdn.net/ai52011/article/details/7711361 ...

  10. Vant-UI移动端时间选择框

    使用Vant input框时有时需要调用时间选择,时间选择框要结合弹出层使用 <div class="van-cell van-field"> <span cla ...