【小沐学Python】Python实现Web服务器(Django入门)

66 篇文章 13 订阅

🍺基于Python的Web服务器系列相关文章编写如下🍺:
11. 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈
12. 🎈【Web开发】Python实现Web服务器(Flask案例测试)🎈
13. 🎈【Web开发】Python实现Web服务器(Flask部署上线)🎈
14. 🎈【Web开发】Python实现Web服务器(Tornado入门)🎈
15. 🎈【Web开发】Python实现Web服务器(Tornado+flask+nginx)🎈
16. 🎈【Web开发】Python实现Web服务器(FastAPI)🎈
17. 🎈【Web开发】Python实现Web服务器(Bottle)🎈
18. 🎈【Web开发】Python实现Web服务器(Django)🎈
19. 🎈【Web开发】Python实现Web服务器(web2py)🎈
20. 🎈【Web开发】Python实现Web服务器(Sanic)🎈

1、简介

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。

在这里插入图片描述

使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

在这里插入图片描述
Django是一个开源的Python Web应用框架,采用了 MVT的框架模式,即模型M,视图V和模版T ,最早于2005年发布。Django被认为是"大而全"的重量级Web框架,其自带大量的常用工具和组件(比如数据库ORM组件、用户认证、权限管理、分页、缓存), 甚至还自带了管理后台Admin,适合快速开发功能完善的企业级网站。 Django自带免费的数据SQLite,同时支持MySQL与PostgreSQL等多种数据库。 Flask和Django均是当今最流行的Python Web框架。
在这里插入图片描述

Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:

M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
T 表示模板 (Template):负责如何把页面(html)展示给用户。
V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。
除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template。

在这里插入图片描述
Django项目的结构布局是刚性的,每个人写的项目结构最后都差不多,你可以清楚地知道在哪个APP的哪个文件夹里找到哪个文件(media目录, static目录, template目录,views.py, models.py, forms.py, etc)。在项目结构上,Flask是很灵活的,你可以随意地组织自己的代码,1000个APP说不定就有有1000种组织代码的方式。
在这里插入图片描述

2、安装

Django is available open-source under the BSD license. We recommend using the latest version of Python 3. The last version to support Python 2.7 is Django 1.11 LTS. See the FAQ for the Python versions supported by each version of Django.

pip install Django==4.1.1

在这里插入图片描述
or

git clone https://github.com/django/django.git
  • 目前支持的版本
    See the supported versions policy for detailed guidelines about what fixes will be backported.
    在这里插入图片描述
    在这里插入图片描述
  • 代码打印版本信息
python -m django --version

or

import django 
print(django.VERSION)
# or
print(django.get_version())

在这里插入图片描述

  • diango-admin命令
    在这里插入图片描述

3、测试

3.1 创建第一个项目

  • 新建项目
django-admin startproject HelloWorld
cd helloworld
tree

在这里插入图片描述

  • 目录说明:

  • HelloWorld: 项目的容器。

  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

  • HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。

  • HelloWorld/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。

  • HelloWorld/settings.py: 该 Django 项目的设置/配置。

  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。

  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

  • 启动服务器:

python manage.py runserver 0.0.0.0:8080
# or
python manage.py runserver 8080
# or
python manage.py runserver 0:8080
# or
py manage.py runserver

在这里插入图片描述
在这里插入图片描述
在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 views.py 文件:

  • HelloWorld/HelloWorld/views.py:
from django.http import HttpResponse
 
def hello(request):
    return HttpResponse("Hello world ! 爱看书的小沐!")
  • HelloWorld/HelloWorld/urls.py:
from django.contrib import admin
from django.urls import path

from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', views.hello),
]

在这里插入图片描述
在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!
在这里插入图片描述

  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值