开发环境:
Microsoft Windows 10 Enterprise LTSC [Version 10.0.19044.1586], locale zh-CN
Python 3.8.10
PyCharm 2021.2 (Professional Edition)
Visual Studio Code, 64-bit edition (version 1.67.2)
在 PyCharm
中创建 Django
项目
在 PyCharm
菜单中选择 File
-> New Project
, 在弹出的 新项目
对话框中选择 项目类型
、保存位置
等信息。
修改项目的 语言
和 时区
配置
打开文件 myproject/settings.py
, 找到 LANGUAGE_CODE
、TIME_ZONE
和 USE_TZ
并进行修改, 如下图所示:
1 2 3 4 5 6 7 8
| LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/shanghai'
USE_I18N = True
USE_TZ = False
|
在项目内创建应用
在项目文件夹中按住键盘的 Shift
, 点鼠标 右键
, 选择 在此处打开PowerShell窗口
或 在此处打开命令窗口
(Windows 7)
- 激活虚拟环境, 命令:
venv\Scripts\activate
1 2
| PS D:\PycharmProjects\myproject> .\venv\Scripts\activate (venv) PS D:\PycharmProjects\myproject>
|
- 创建应用的命令:
python manage.py startapp <应用名称>
例如:
1 2
| (venv) PS D:\PycharmProjects\myproject> python manage.py startapp department (venv) PS D:\PycharmProjects\myproject>
|
添加新创建的应用到项目中
打开 djangoProject/settings.py
文件, 在 INSTALLED_APPS
中添加应用名称, 如下所示:
1 2 3 4 5 6 7 8 9 10
| INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',
'department', # 通过 应用名 安装应用, 适用于大多数情况 ]
|
定义模型类
数据库的每个表定义一个模型类, id
字段会自动生成, 其他字段根据数据表的进行定义, 类似以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| from django.db import models
class Department(models.Model): """ 组织架构:用于保存有关联业务的其他公司 或 单位内部的部门信息 """
type_choices = (('firm', '公司'), ('department', '部门')) title = models.CharField(max_length=60, verbose_name="名称") type = models.CharField(max_length=20, choices=type_choices, default='department', verbose_name='类型') description = models.CharField(max_length=200, null=True, blank=True, verbose_name='描述') parent = models.ForeignKey('self', null=True, blank=True, verbose_name='上级部门', on_delete=models.CASCADE)
class Meta: verbose_name = '组织构架' verbose_name_plural = verbose_name
def __str__(self): """ 返回对象的描述信息 """ return self.title
|
定义表单类
表单表用于添加或编辑数据, 在应用中添加名为 forms.py
的表单类文件, 在已经定义好模型类的基础上, 最简单的表单类定义类似以下代码:
1 2 3 4 5 6 7 8
| from django import forms from .models import Department
class DepartmentEditForm(forms.ModelForm): class Meta: model = Department fields = '__all__'
|
添加被视图调用的模板文件
模板文件夹 templates
中放置用于显示的网页文件, 不包含样式的最简单版本请参考最后一次上课的例子
添加视图函数(或视图类)
打开相应的应用文件夹中的 views.py
文件, 添加用于查、改、增、删除的函数, 具体内容可参考:
https://hujiyi.github.io/2022/07/04/create-an-app-in-django-004/
定义路由
定义应用的子路由
在应用文件夹中添加名为 urls.py
的路由文件, 类似以下内容:
1 2 3 4 5 6 7 8 9 10 11
| from django.urls import path from . import views
urlpatterns = [ path('', views.index, name='index'), path('create/', views.create, name='create'), path('<int:id>/', views.detail, name='detail'), path('update/<int:id>/', views.update, name='update'), path('delete/<int:did>/', views.delete, name='delete') ]
|
添加子路由到项目路由中
打开 djangoProject/urls.py
文件, 编辑内容类似以下代码:
1 2 3 4 5 6 7 8
| from django.contrib import admin from django.urls import path, include
urlpatterns = [ path('admin/', admin.site.urls), path('', include('department.urls')), ]
|
参考资料:
Django v4.0 中文文档
Django入门与实践教程
Bootstrap5 中文手册
===END===