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

举报
梦想橡皮擦 发表于 2021/08/20 22:13:57 2021/08/20
【摘要】 橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 Django 世界。 一、Python Web 之 Django 的世界 1. Django 是什么Django 是一个框架,用于开发网站,使用的编程语言的是 Python,在 Django 中提供了开发常用的模板,让程序员主要精力放在业务部分。Djano 优点:管理后台,可以进行简单配置,即可实现一个内容管理平台;ORM,对象关系...

橡皮擦,一个逗趣的互联网高级网虫。新的系列,让我们一起进入 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 相关的前置知识已经在滚雪球中进行学习,接下来为你罗列可能会用到的部分知识点,希望你可以快速回忆,或者可以打开滚雪球部分进行学习。

https://dream.blog.csdn.net/article/details/114586600

  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 特别简单,使用命令行安装即可。对应的文档参考:https://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

如果一切都与上图一致,可以继续使用下述命令,创建一个 Django 项目。

django-admin startproject my_website

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

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

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

在运行的时候,还可以指定端口,例如下述命令:

python manage.py runserver 8080

使用 Ctrl+C 停止服务。

今天是持续写作的第 116 / 200 天。

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

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。