• Django项目配置


    1 项目准备

    1.1 创建test数据库,并导入数据,生成对应的表

    • 登录数据库
    • create database test;
    • use test;
    • 导入数据创建表:source D:/Demo.sql;

    1.2 安装Django及驱动程序:

    安装django: pip install Django==3.2.22

    • 安装好后可使用命令:django-admin.exe

    **安装数据库驱动程序:**使用mysql数据库pip install pymysql

    django版本文档下载: https://docs.djangoproject.com/zh-hans/4.2/
    django版本文档下载

    1.3 创建项目

    创建salary的项目,指定项目名称和项目目录: django-admin.exe startproject salary .

    执行后项目目录结构:
    --salary:主目录,包含项目的各种配置,每一个文件都很重要
    --manage.py:就相当于django-admin.exe,包含了项目需要的很多命令
    --app1:待创建
    --app2:待创建

    指定数据库驱动:
    settings.py的同级目录的__init__.py中增加:

    import pymysql  
    pymysql.install_as_MySQLdb()  
    
    • 1
    • 2

    创建应用程序APPemployeepython manage.py startapp employee

    1.4 项目setting配置

    settings.py配置:

    • 注册应用程序APP:INSTALLED_APPS中写入创建的employee
    • 配置数据库
    • 配置时区
    • 配置logging。注意生产环境中,DEBUG=False # https://docs.djangoproject.com/en/3.2/topics/logging/#configuring-logging

    创建employees实体

    from django.db import models
    
    
    class Employees(models.Model):
    
        # 数据库表名,固定的,Django就是这,一个Meta类
        class Meta:
            db_table = "employees"
        emp_no = models.IntegerField(primary_key=True, null=False)
        birth_date = models.DateField(null=False)
        first_name = models.CharField(max_length=14, null=False)
        last_name = models.CharField(null=False, max_length=16)
        gender = models.SmallIntegerField(null=False)
        hire_date = models.DateField(null=False)
    
        def __repr__(self):
            return "".format(self.emp_no, self.first_name, self.last_name)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    生成迁移文件、创建表:

    • 生成迁移文件:在项目根目录执行python manage.py makeemigrations,执行后在APP目录下可以看到0001_initial.py
    • 执行迁移文件创建表:python manage.py migrate

    迁移文件:第一次执行的时候生成0001号文件。第一次执行之后,如果models.py中的模型有修改,修改后重新执行迁移,则会在APP目录下创建一个补丁文件,代表有修改。
    迁移还可以指定APP,仅对开发完成的APP做迁移:python manage.py migrate employee
    迁移前,一定要在setting.pyINSTALLED_APPS中注册APP。
    对于执行过迁移的app,如果表建错了,想删了重新执行迁移,只删除创建的表没用。因为app的迁移记录保存在了django_migrations表中,如果表中这个app已经执行了0001号迁移,就不会执行。需要在django_migrations把app对于的迁移记录删除,然后再执行``python manage.py migrate app_name`

    简单查询:

    #一-coding: utf-8-*-
    import os
    import django
    
    
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'salary.settings')
    django.setup(set_prefix=False)
    
    from employee.models import Employee  # 这一行必须在`os.environ.setdefault`之后,先把配置、环境变量准备好后才能import
    
    emps = Employee.objects.all()  # 懒查询,只有后面对查询结构有引用时,才会驱动真正的查询
    print(emps)  # 查询集
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    Django ORM查询总结博客
    https://blog.csdn.net/luofeng_/article/details/133895120?spm=1001.2014.3001.5501

  • 相关阅读:
    基于python的电影爬虫可视化系统设计与实现
    echarts散点图demo
    Handler&Looper
    代码随想录算法训练营19期第48天
    Mybatis plus 忽略表中映射的字段
    【Excel】两组行数不同数据做二维柱状图
    Linux网络配置:Nat和桥接模式详解
    第09讲:Java 线程优化 偏向锁,轻量级锁、重量级锁
    SpringMVC:处理器方法的返回值(动力)
    什么是分布式、什么是分布式调度、分布式调度要实现的目标
  • 原文地址:https://blog.csdn.net/luofeng_/article/details/133914935