Django搭建环境_初始化

Django 搭建环境_初始化

 1、创建一个APP、名为BeeterBE 

C:\Users\lanyi\Desktop\lan>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:\Users\lanyi\Desktop\lan>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:\Users\lanyi\Desktop\lan>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 = ["*"]

 








 

posted @ 2020-07-15 13:18  阿久丶xin  阅读(219)  评论(0编辑  收藏  举报
Live2D