django的命令, 配置,以及django使用mysql的流程

1.Django的命令:

  1. 下载

    1. pip install django==1.11.16

    2. pip install django==1.11.16 -i 源

  2. 创建项目

    1. django-admin startproject app01(项目名,这是项目的根目录)

  3. 启动项目

    1. cd 项目在根目录下 找到manage.py 运行起来

      Python manage.py runserver

       

    2. python manage.py runserver # 127.0.0.1:8000

    3. python manage.py runserver 80 # 127.0.0.1:80

    4. python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80

  4. 创建一个APP

    1. python manage.py startapp app名称

    2. 注册

  5. 数据库迁移

    1. python manage.py makemigrations # 在app下的migrations文件夹下记录 models的变更记录

    2. python manage.py migrate # 将models的变更记录同步到数据库中

2.Django的配置

  1. 注释一个CSRF的中间件 可以提交POST

  2. databases 数据库

    1. ENGINE : mysql

    2. NAME : 数据库的名称

    3. HOST:主机的IP

    4. PORT:3306

    5. USER: 用户名

    6. PASSWORD: 密码

  3. 静态文件的配置

    1. STATIC_URL = '/static/' # 别名

    2. STATICFILES_DIRS = [

      ​ os.path.join(BASE_DIR,'static')

      ]

  4. app

    1. INSTALLED_APPS = [

      ​ 'app01' ,

      ​ 'app01.apps.App01Config'

      ]

  5. TEMPLATES 模板相关的配置

    1. DIRS [ os.path.join(BASE_DIR,'templates')]

3.Django使用mysql数据库的流程:

  1. 创建一个mysql数据库, 可以通过在你的数据库交互式命令行中使用

    CREATE DATABASE database_name;

     

  2. 在settings中进行配置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',   # 数据库引擎mysql
            'NAME': 'bms2',       # 你要存储数据的库名,事先要创建
            'USER': 'root',      # 数据库用户名
            'PASSWORD': '',      # 密码
            'HOST': 'localhost', # 主机
            'PORT': '3306',      # 数据库使用的端口
        }
    }
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'bookmanager',
            'HOST': '127.0.0.1',
            'PORT': 3306,
            'USER': 'root',
            'PASSWORD': '',
    
        }
    }

     

  3. 在与settings同级目录下的init的文件中写:
    import pymysql
    pymysql.install_as_MySQLdb()

     

  4. 在app下的models中写类(models.Model)
    class Publisher(models.Model):  # app01_publisher
        pid = models.AutoField(primary_key=True)  # pid 主键
        name = models.CharField(max_length=32, unique=True)  # 出版社名称
    
        def __str__(self):
            return self.name
    
    
    class Book(models.Model):
        title = models.CharField(max_length=32, unique=True)  # 书籍的名称
        publisher = models.ForeignKey('Publisher', on_delete=models.CASCADE)  # 关联了出版社
    
        def __str__(self):
            return self.title
    
    
    class Author(models.Model):
        name = models.CharField(max_length=32, unique=True)  # 作者的名字
        books = models.ManyToManyField('Book')  # 表示作者和书籍 多对多的关系
        # books = models.ManyToManyField('Book', through='Author_book',)  # 表示作者和书籍 多对多的关系

     

  5. 数据库迁移的命令

    1. python manage.py makemigrations # 在app下的migrations文件夹下记录 models的变更记录

    2. python manage.py migrate # 将models的变更记录同步到数据库中

posted on 2018-12-04 08:56  KD_131  阅读(389)  评论(0编辑  收藏  举报