zoukankan      html  css  js  c++  java
  • django学习笔记【003】创建第一个带有model的app

    【1】python应用程序要连接mysql有多个驱动程序可供选择:

      1、MySQLdb 这个只支持python2.x 所以在这里就不说了;

      2、mysqlclient 下载地址  

    https://pypi.python.org/pypi/mysqlclient/1.3.9

      3、MySQL Connector/python 这个是mysql官方主推的mysql驱动

    https://dev.mysql.com/downloads/connector/python/

      从django的官方文档中没有找到为什么python3.x选择了mysqlclient而不是MySQL Connector/Python ;在编写用到数据库功能的Django之前

      要把mysqlclient安装一下。

      

    【2】把polls这个app注册到project中去、修改settings.py 文件的INSTALLED_APPS配置项

    INSTALLED_APPS = [
        'polls.apps.PollsConfig', # 增加polls.apps.PollsConfig 用于注册polls到project
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]

    【3】配置django连接mysql数据库的方式、修改settings.py 文件的DATABAES配置项

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'tempdb',
            'USER': 'appuser',
            'PASSWORD': 'helloapp',
            'HOST': '127.0.0.1',
            'PORT': '3306'
        }
    }

    【4】创建模式、在polls/models.py 文件下增加如下orm类

    from django.apps import AppConfig
    
    
    class PollsConfig(AppConfig):
        name = 'polls'

    【5】创建用于迁移的中间文件

    tree polls/
    polls/
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py
    
    
    python3.5 manage.py makemigrations polls
    Migrations for 'polls':
      polls/migrations/0001_initial.py:
        - Create model Person
    
    
    tree polls/
    polls/
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   ├── 0001_initial.py
    │   ├── __init__.py
    │   └── __pycache__
    │       └── __init__.cpython-35.pyc
    ├── models.py
    ├── __pycache__
    │   ├── admin.cpython-35.pyc
    │   ├── apps.cpython-35.pyc
    │   ├── __init__.cpython-35.pyc
    │   └── models.cpython-35.pyc
    ├── tests.py
    └── views.py

    【6】把迁移应用到数据库

    python3.5 manage.py migrate polls 0001
    Operations to perform:
      Target specific migration: 0001_initial, from polls
    Running migrations:
      Applying polls.0001_initial... OK

    【7】查看数据库中有哪些变更

    show tables;
    +-------------------+
    | Tables_in_tempdb  |
    +-------------------+
    | django_migrations |
    | polls_person      |
    +-------------------+
    
    
    
    show create table polls_person;
    +--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table        | Create Table                                                                                                                                                    |
    +--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | polls_person | CREATE TABLE `polls_person` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(8) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
    +--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+

    ----

  • 相关阅读:
    渚漪Day18——JavaWeb 09【JSP】
    渚漪Day17——JavaWeb 08【Session】
    渚漪Day16——JavaWeb 07【Cookie】
    渚漪Day15——JavaWeb 06【HTTPServletRequest】
    渚漪Day14——JavaWeb 05【HTTPServletResponse】
    Typora编写markdown 常用入门
    Vue 笔记
    ABCNN 学习笔记
    DSSM 学习笔记
    支持向量机 SVM 学习笔记
  • 原文地址:https://www.cnblogs.com/JiangLe/p/6374792.html
Copyright © 2011-2022 走看看