zoukankan      html  css  js  c++  java
  • Django搭建环境_初始化

    Django 搭建环境_初始化

     1、创建一个APP、名为BeeterBE 

    C:UserslanyiDesktoplan>python manage.py startapp BetterBE

    2、将APP注册在settings里面

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'BetterBE'
    ]

    3、为APP创建一个容器   (后端项目往往一个项目里面就会包含多个APP,如果多个APP一直放在根目录下就会显得非常凌乱。这种情况下就会创建一个APP容器,将项目放到这个容器里面

     

     用鼠标将BeeterBE项目拖到apps里面去

    4、将apps类型改为source root   (因为注册的项目只会到默认的根目录下面的去找,刚才我们把BetterBE拖到apps下面去了。)

     

    5、在settings里面添加一个目录,意味着除了在根目录下找APP、还要在APPS里面去找

    # 引入sys模块
    import os, sys
    
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    sys.path.insert(0, os.path.join(BASE_DIR,'apps'))

    django连接MySQL数据库

    1、先创建一个模板

    编辑apps/BetterEB/models.py

    from django.db import models
    
    # Create your models here.
    
    # 系统操作日志System operation log
    # Sys_log:用户,操作动作,日期 ,操作结果 0 或者失败 1  1为成功
    
    class B_sys_log (models.Model):
    
        B_user = models.CharField(db_column="B_user", max_length=100, null=False)  # 用户
        B_motion = models.CharField(db_column="B_motion", max_length=100, null=False)  # 动作
        B_date = models.CharField(db_column="B_date", max_length=100, null=False)  # 操作日期
        B_result = models.CharField(db_column="B_result", max_length=100, null=False)  # 操作结果
    
        # 默认情况下,生成的表名字:App_class, 如果需要自定义,需要使用class Meta来定义
        class Meta:
            managed = True
            db_table = "B_Sys_log"

    2、settings里面设置数据库连接信息

    编辑settings.py

    DATABASES = {
        # 'default': {
        #     'ENGINE': 'django.db.backends.sqlite3',
        #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        # }
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'BetterDB',
            'USER': 'root',
            'PASSWORD': 'Yy100200',
            'HOST': '192.168.200.2',
            'PORT': '3306'
        }
    }

    3、要确保操作系统里面有一个组件(pymysql)

    Python----Pymysql----Mysql

    如果没有利用pip命令安装

    pip3 install pymysql

    4、将Pymysql初始化到刚才创建的app里面(apps/BetterEB/__init__.py)里面

    编辑apps/BetterEB/__init__.py

    import pymysql
    pymysql.install_as_MySQLdb()

    要点

       django连接数据库 。步骤如下:

    • 现在mysql上创建一个名为 《BetterDB》的库
    • 在settings.py配置连接《BetterDB》这个库
    • 将pymysql模块迎引入到app里面

     

    将models里面的类 映射到mysql数据库里面

    1、生成数据库同步脚本(将类转化为脚本)

    C:UserslanyiDesktoplan>python manage.py makemigrations

    如果报错

    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
    django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

     编辑apps/BetterEB/__init__.py

    import pymysql
    pymysql.version_info = (1, 4, 6, 'final', 0)  # change mysqlclient version
    pymysql.install_as_MySQLdb()

    2、将脚本同步到数据库

    C:UserslanyiDesktoplan>python manage.py migrate
    Operations to perform:
      Apply all migrations: BetterBE, admin, auth, contenttypes, sessions
    Running migrations:
      Applying BetterBE.0001_initial... OK
      Applying contenttypes.0001_initial... OK
      Applying auth.0001_initial... OK
      Applying admin.0001_initial... OK
      Applying admin.0002_logentry_remove_auto_add... OK
      Applying admin.0003_logentry_add_action_flag_choices... OK
      Applying contenttypes.0002_remove_content_type_name... OK
      Applying auth.0002_alter_permission_name_max_length... OK
      Applying auth.0003_alter_user_email_max_length... OK
      Applying auth.0004_alter_user_username_opts... OK
      Applying auth.0005_alter_user_last_login_null... OK
      Applying auth.0006_require_contenttypes_0002... OK
      Applying auth.0007_alter_validators_add_error_messages... OK
      Applying auth.0008_alter_user_username_max_length... OK
      Applying auth.0009_alter_user_last_name_max_length... OK
      Applying auth.0010_alter_group_name_max_length... OK
      Applying auth.0011_update_proxy_permissions... OK
      Applying sessions.0001_initial... OK

     再次查看数据、完成django与mysql的连接

     设置 所有主机可访问 

     编辑settings.py

    ALLOWED_HOSTS = ["*"]







  • 相关阅读:
    方法的重载
    构造方法
    方法与主方法
    类的一般形式
    多维数组
    如何使用数组
    数组的创建以及初始化
    流程控制之break、continue、return的用法
    流程控制之循环结构
    流程控制值选择结构
  • 原文地址:https://www.cnblogs.com/laod/p/13304959.html
Copyright © 2011-2022 走看看