01_开发环境与项目初始化

昨天,我写了《Django 个人博客教程-00:开篇》,其中主要给个人博客程序做了简单的需求分析。 往下的文章将正式开始本教程的内容,教程将基于下面环境进行开发: Windows 10 Python 3.8.x Django 3.2.x Bootstrap 5.0.x Step1、配置 Python 虚拟环境 这里用 Python venv 开一个虚拟环境将开发环境的 python 包跟系统的 python 包环境隔离开来,venv 用法如下: ...\> mkdir docspace ...\> cd docspace # 除特别说明,以下步骤都在这个目录下 ...\> python -m venv env --clear # --clear 清除旧 env 目录 ...\> &.\env\Scripts\activate # 激活 python 虚拟环境 Step2、安装 Django ...\> pip install django==3.2 -i https://mirrors.aliyun.com/pypi/simple # django==3.2 指定版本号安装 # -i 参数指定安装源url地址 ...\> pip freeze > requirements.txt ...\> pip list Package Version ---------- ------- asgiref 3.3.4 Django 3.2 pip 20.2.1 pytz 2021.1 setuptools 49.2.1 sqlparse 0.4.1 Step3、新建 django 项目和博客 app ...\> django-admin startproject proj . # 新建 django 项目 proj,注意后面还有个点,表示在当前目录下生成项目 ...\> python manage.py startapp docspace # 新建名为 docspace 的 app,我们的博客程序代码将主要在这里书写 最终生成的项目和 app目录结构如下: ...]$ tree -L 2 ../docspace/ ../docspace/ ├── docs # 教程文档目录 │ └── 01_开发环境与项目初始化.md ├── docspace # 博客docspace app目录 │ ├── __init__.py # 使得 docspace 成为一个 Python 包 │ ├── admin.py # django 自带管理后台 │ ├── apps.py # django 应用 app 配置文件 │ ├── migrations # 模型迁移文件目录,生成迁移 sql 的文件 │ ├── models.py # django 模型文件 │ ├── tests.py # 测试用例主要写在这里 │ └── views.py # 视图文件,处理用户逻辑主要写在这里 ├── env # `python -m venv env`生成的 python 虚拟环境目录 │ ├── Include │ ├── Lib │ ├── Scripts │ └── pyvenv.cfg ├── manage.py # django 项目管理命令入口 ├── proj # django 项目目录 │ ├── __init__.py │ ├── asgi.py # django 3.0+才有的,ASGI 的服务的入口文件,跟wsgi.py差不多 │ ├── settings.py # django 项目配置文件 │ ├── urls.py # django项目路由入口文件 │ └── wsgi.py # Web服务器和Web应用的Python标准的入口文件 └── requirements.txt # 执行 `pip freeze` 得到的项目依赖包列表文件 9 directories, 15 files Step4、Django基本视图 1、在 docspace/views.py 文件中写入代码: # `docspace/views.py` # from django.shortcuts import render from django.shortcuts import HttpResponse # Create your views here. def ping(request): return HttpResponse("pong\n") 2、在 docspace/ 目录下新建 urls.py 文件并写入代码: # `docspace/urls.py` from django.urls import path from docspace import views urlpatterns = [ path('ping/', views.ping), ] 3、打开 proj/urls.py 修改成如下代码(不写注释): # `proj/urls.py` from django.contrib import admin from django.urls import path, include urlpatterns = [ path('', include('docspace.urls')), path('admin/', admin.site.urls), ] 4、打开 proj/settings.py 修改 INSTALLED_APPS,将 docspace 这个注册进来: INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'docspace', # 添加你的 docspace app ] Step5、启动 django 开发服务器并测试 ...\> python .\manage.py runserver Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. April 16, 2021 - 12:51:04 Django version 3.2, using settings 'proj.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. 1、访问 http://127.0.0.1:8000/ django自带首页结果如下: 2、访问 http://127.0.0.1:8000/ping/,测试 ping 视图结果如下: 到此,django项目已经安装好并完成了博客项目的初始化工作。下一篇文章将开始设计个人博客程序的模型(model) 《Django 个人博客教程-02:model设计》 阅读说明: ...\> 这个开头表示Windows powershell下执行的指令 ...]$ 这个开头表示Linux bash下执行的指令 系列文章: 《Django 个人博客教程-00:开篇》 《Django 个人博客教程-01:开发环境与项目初始化》当前文章 《Django 个人博客教程-02:自定义字段与模型抽象类》下一篇