开发流程

  • 安装Django
1
pip install django
  • 创建Django项目
1
>>> django-admin startproject mysite

【注意】Pycharm可以创建。如果用Pycharm创建,记得settings,py中的DIR templates 删除

  • 创建app & 注册
1
2
3
>>> python manage.py startapp app01
>>> python manage.py startapp app02
>>> python manage.py startapp app03
1
2
3
4
INSTALLED_APPS = [
...
'app01.apps.App01Config',
]

【注意】否则app下的models.py写类时,无法在数据库中创建表

  • 配置 静态文件路径 & 模板的路径(放在app目录下)

  • 配置数据库相关操作

    • 第三方模块(django3版本)
    1
    pip install mysqlclient
    • 自己先去MySQL创建一个数据库
    • 配置数据库连接settings.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'staffing_system', # 数据库名字
    'USER': 'root',
    'PASSWORD': 'root',
    'HOST': '127.0.0.1', # 哪台机器安装MySQL
    'PORT': 3306,
    }
    }
    • 在app下的models.py中编写
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    from django.db import models

    class Admin(models.Model):
    """ 管理员 """
    username = models.CharField(verbose_name="用户名", max_length=32)
    password = models.CharField(verbose_name="密码", max_length=64)

    def __str__(self):
    return self.username

    class Department(models.Model):
    """ 部门表 """
    title = models.CharField(verbose_name='标题', max_length=32)

    def __str__(self):
    return self.title
    • 执行两个命令
    1
    2
    >>> python manage.py makemigrations
    >>> python manage.py migrate
  • 在urls.py,路由(URL 和 函数的对应关系)

  • 在view.py,视图函数,编写业务逻辑

  • templates目录,编写HTML模板(含有模板语法、继承、{% static ‘xx’ %}

  • ModelForm & Form组件,在我们开发增删改查功能

    • 生成HTML标签(生成默认值)
    • 请求数据进行校验
    • 保存到数据库(ModelForm)
    • 获取错误信息
  • Cookie和Session,用户登录信息保存起来

  • 中间件,基于中间件实现用户认证,基于:process_request__call__

  • ORM操作

1
2
models.User.objects.filter(id=nid)
models.User.objects.filter(id=nid).order_by("-id")
  • 分页组件