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()  

创建应用程序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 "<Employee: {} {} {}>".format(self.emp_no, self.first_name, self.last_name)

生成迁移文件、创建表:

  • 生成迁移文件:在项目根目录执行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)  # 查询集

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个两个四个三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值