Django 4.2 复习笔记(一)迅速概览

作者:J.sky · 发表于:
2023-05-18T09:28:45.000000Z
· 更新于:
2023-08-13T22:54:57.598617Z
· Tag: Django

许多年前曾经接触过Django,那时候还是1.X版本,现在都到了4.2版本了。今天抽空复习一下有关Django的相关技术要点。

Django 安装

建议使用conda创建虚拟环境

conda 常用的命令。

conda list 查看安装了哪些包。
conda env list 或 conda info -e 查看当前存在哪些虚拟环境
conda update conda 检查更新当前conda
conda --version 查询conda版本
conda -h 查询conda的命令使用
activate // 切换到base环境
conda deactivate //退出虚拟环境
activate learn // 切换到learn环境
conda create -n learn python=3 // 创建一个名为learn的环境并指定python版本为3(的最新版本)
conda env list // 列出conda管理的所有环境
conda list // 列出当前环境的所有包
conda install requests 安装requests包
conda remove requests 卸载requets包
conda remove -n learn --all // 删除learn环境及下属所有包
conda update requests 更新requests包
conda env export > environment.yaml // 导出当前环境的包信息
conda env create -f environment.yaml // 用配置文件创建新的虚拟环境

然后使用pip进行安装:

pip install Django

查询Django版本:

>>> import django
>>> print(django.get_version())
4.2

创建Django项目

新建一个项目目录,例如:app

cd app
django-admin startproject mysite

之后我们可以看到项目的结构大体如下:

.
└── mysite
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── asgi.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py

切换到项目的根目,manage.py同目录:

python manage.py runserver

admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
May 18, 2023 - 01:38:18
Django version 4.2.1, using settings 'app.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

浏览器输入网址:http://127.0.0.1:8000/ 就可以看到Django的默认的欢迎页面了。

创建应用

进入项目的目录,要和manage.py同目录,运行创建一个应用:

python manage.py startapp myapp


.
└── mysite
    ├── db.sqlite3
    ├── manage.py
    ├── myapp
    └── mysite

这个时候发现myapp的这个应用就创建成功了。

django-admin startproject mysitepython manage.py startapp myapp的区别是,startproject创建的是一个项目,startapp创建的是一个应用,一个项目可以包括多个应用,例如创建一个网站项目,可以包括:新闻、图片库、后台管理等,这些可以细化成单个的应用,可以对应到路由,应用模块化后方便以后分开进行开发。

添加视图和路由

myapp/views.py添加一个视图:

from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello world!")

myapp/urls.py添加路由:

from django.urls import path
from . import views


urlpatterns = [
    path("",views.index,name="index"),
]

好了,这一套组合拳下去,我们也该看看效果了,在manage.py所在的目录中运行:python manage.py runserver,然后在浏览器里访问你的地址加上你的目录:http://127.0.0.1:8000/myapp,就可以看到久违的'hello world'了。

总结

如果你使用过flask或是fastapi,你会发现Django的hello world显得有些繁琐,但是每个web框架都有各自的优缺点,Django大而全,帮你准备好了web所需的各种依赖,相对于flask和fastapi,Django更重些但更全面。