滚雪球学 Python 第三轮,Python Web 之 Django 的世界|Python 主题月

2,086 阅读5分钟

本文正在参加「Python主题月」,详情查看 活动链接

橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 Django 世界。

一、Python Web 之 Django 的世界

1. Django 是什么

Django 是一个框架,用于开发网站,使用的编程语言的是 Python,在 Django 中提供了开发常用的模板,让程序员主要精力放在业务部分。

Djano 优点:

  1. 管理后台,可以进行简单配置,即可实现一个内容管理平台;
  2. ORM,对象关系映射,方便数据库操作;
  3. 前后端分离的模板系统;

更多内容,必须要学习之后才能深入了解。 Django 由于是主流的 Python Web 框架,所以支持 MVC 模式,对于 MVC 初学阶段很容易就陷入概念中,这里橡皮擦做一个简单的说明。

MVC 是三个单词的缩写,分别是(Model -View - Controller),该模式是非常成熟的 Web 应用程序设计模式。

  • M:负责从数据库获取数据;
  • V:负责向用户推送数据;
  • C:在 M 与 V 之间进行传递数据的控制器。

1.1 Django MVT 模式

MVT 是 Djongo 中自带的设计模式,它与 MVC 存在部分不同,你可以简单的理解为 Django 自带了 HTML 模板文件,并且支持模板语言(模板语言后面的博客会涉及,包括占位符,分支,循环等常见操作),Django 并没有失去的 Controller,只是它自己实现了,不需要开发者过多的参与。

1.2 其它 Python Web 框架

基于 Python 语言的 Web 框架挺多的,常见的有 Webpy、Flask、Bottle、Pyramid、Tornado。滚雪球第三轮主要学习的是 Djando,框架是提高代码编写效率的利器,从任意一个学习开始都可以,选择 Django 只因为改框架在国内热度比较高一些,一定留意,从框架上并无任何优劣之分。

2. Web 开发前置知识

前端知识 前端知识包括 HTML,CSS,Javascript ,建议希望学习完整 Web 开发的同学,这部分知识一定要补充完整,对你十分有益,如果后期有机会,橡皮擦会单独整理一套 Web 前端的系列专栏。

HTTP 协议与 TCP/IP 协议 Web 开发是遵循 HTTP 协议实现的,故本部分内容也属于必备知识,网络协议 TCP/IP 在初学阶段可以后置。

Linux 服务器知识 目前国内主流的服务器都是 Linux 系统,虽然在 Windows 上运行 Python 完全没有问题,但是眼光放长去看,建议掌握 Linux 服务器相关知识。

数据库系统 作为一个 Python 研发人员,本部分知识是不能省略的,尤其是 MySQL 数据库,除此之外,熟练的掌握 SQL 语言,也是重中之重。

缓存系统 优先掌握 Redis

数据结构和设计模式 程序员的核心竞争力,初学阶段可以后置,包括算法。

操作系统原理 大学的一门课程,相信很多同学已经都遗忘了,这里只进行提醒,如果希望自己的编程之路,走的更远,建议补充操作系统原理相关知识。

3. Web 开发之 Python 部分

本专栏属于滚雪球学 Python 的扩展部分,所以 Python 相关的前置知识已经在滚雪球中进行学习,接下来为你罗列可能会用到的部分知识点,希望你可以快速回忆,或者可以打开滚雪球部分进行学习。

  1. 运算符;
  2. 数据类型,整数,字符串,列表,元组,字典,集合;
  3. 重点类型,字符串,列表以及其对象方法;
  4. 元组与字典相关方法;
  5. 分支与循环语句;
  6. 模块与函数;
  7. 类,属性,方法;
  8. 正则表达式;

4. 这些基础,你还有印象吗?

  1. 数学运算符中有一个函数 divmod,知道怎么使用吗?
  2. 字典是有顺序的吗,collections.OrderedDict 是做什么的?
  3. 字典的默认值如何设置?
  4. 双端队列 collections.deque 学习过吗?
  5. 使用 os 模块可以导入模块吗?
  6. Python 寻找变量的顺序是 LEGB 吗?
  7. 类中 __ 下划线表示什么?_ 下划线表示什么?
  8. 深复制与浅复制;
  9. execevalrepr 三个内置函数是做什么的?
  10. picklejsonshutil 模块的使用方法?

5. Django 安装与运行

安装 Djando 特别简单,使用命令行安装即可。对应的文档参考:docs.djangoproject.com/en/3.1/

pip install django

安装成功出现的内容为:

Successfully installed asgiref-3.3.1 django-3.1.7 sqlparse-0.4.1

安装完毕使用下述代码测试一下:

import django
print(django.get_version())

在测试环境变量是否完全无误,在命令窗口运行下述命令:

django-admin help

滚雪球学 Python 第三轮,Python Web 之 Django 的世界 如果一切都与上图一致,可以继续使用下述命令,创建一个 Django 项目。

django-admin startproject my_website

运行之后,在对应文件夹生成如下格式的文件结构。

滚雪球学 Python 第三轮,Python Web 之 Django 的世界

my_website 根目录中包含另一个 my_website目录,该目录整个项目的配置文件目录,还有 manage.py 文件,项目的管理脚本。

  • my_website
    • my_website
      • __init__.py
      • asgi.py: ASGI 服务器部署信息
      • setting.py:项目配置信息
      • urls.py:网站路由设置信息
      • wagi.py:部署信息
    • manage.py

命令行中使用 cd 进入到 my_website 目录,再运行下述命令:

python manage.py runserver

滚雪球学 Python 第三轮,Python Web 之 Django 的世界

打开浏览器访问:http://127.0.0.1:8000/,得到下图所示内容,表示Django 已经开启。

滚雪球学 Python 第三轮,Python Web 之 Django 的世界 在运行的时候,还可以指定端口,例如下述命令:

python manage.py runserver 8080

使用 Ctrl+C 停止服务。

博主 ID:梦想橡皮擦,希望大家点赞、评论、收藏。