您的位置:首页 > 数据库 > > 正文

django连接mysql不支持中文插入(Django创建项目+连通mysql的操作方法)

更多 时间:2021-10-22 07:03:47 类别:数据库 浏览量:416

django连接mysql不支持中文插入

Django创建项目+连通mysql的操作方法

1:django-admin.py startproject 项目名

2:cd 项目名

3:修改setting.py

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1):ALLOWED_HOSTS = []=>ALLOWED_HOSTS = [“*”]
  •  
  • 2):LANGUAGE_CODE = 'en-us' => LANGUAGE_CODE = 'zh-hans'
  •  
  • 3):TIME_ZONE = 'UTC' => TIME_ZONE = 'Asia/Shanghai'
  • 4:创建app

  • ?
  • 1
  • django-admin.py startproject app名
  • 5:修改setting.py

  • ?
  • 1
  • INSTALLED_APPS数组增加=>'app名'
  • 6:项目目录下新增utils文件夹用来封装多个app公共方法

    7:app目录下新增util文件用来封装耽搁app通用方法

    8:app目录下新增view文件夹,里面存放各个页面的逻辑代码

    9:app目录下新增路由文件(urls.py),用来存放此app下的所有路由

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 格式:
  •     from django.urls import path
  •     from .views import wx_pay
  •     urlpatterns = [
  •          path("test", wx_pay.wx_pay().test, name="test"), # 测试
  •     ]
  • 10:添加app路由至项目路由中;修改项目目录下的urls.py

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • from django.contrib import admin
  • from django.urls import path, include
  • from H5 import urls as h5_urls
  • urlpatterns = [
  •         path('admin/', admin.site.urls),
  •     path("h5/", include(h5_urls))
  • ]
  • 至此django项目目录结构已经配置结束了,后面即可进入开发环节了。

    开发时我们往往会用到数据库;下面介绍下怎么配置数据库

    11:修改项目目录下的setting.py

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 默认:
  • DATABASES = {
  •  'default': {
  •   'ENGINE': 'django.db.backends.sqlite3',
  •   'NAME': BASE_DIR / 'db.sqlite3',
  •  }
  • }
  • 修改后:
  • DATABASES = {
  •  'default': {
  •  ‘ENGINE' :'django.db.backends.mysql',
  •  'NAME':'数据库名(以下称DATABASE1)',
  •  'USER':'用户名',
  •  ‘PASSWORD':'数据库密码',
  •  'HOST':'ip地址',
  •  'PORT':'端口'
  •  }
  • }
  • 12:打开数据库新增上面配置的数据库名(DATABASE1)

    13:配置model,进入app目录的models.py文件

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • import time
  •  
  • from django.db import models
  •  
  • # Create your models here.
  •  
  •  class Test(models.Model):
  •   str = models.CharField("字符串", max_length=30, null=True, blank=True)
  •   num = models.IntegerField("数字", default=1, null=True, blank=True)
  •   create_time = models.DateTimeField("时间", default=time.strftime('%Y-%m-%d %H:%M:%S'), blank=True)
  • 14:迁移数据至数据库

  • ?
  • 1
  • 2
  • 3
  • python manage.py makemigrations
  •  
  • python manage.py migrate
  • 15:这时候大概率会报错如下:

    Traceback (most recent call last):
     中间省略若干
     "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/MySQLdb/__init__.py", line 24, in <module>
      version_info, _mysql.version_info, _mysql.__file__
     
      NameError: name '_mysql' is not defined

    此报错主要因为Mysqldb 不兼容 python3.5 以后的版本

    16:修改项目目录下的__init_.py,增加以下代码

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • import pymysql
  •  
  • pymysql.version_info = (1, 4, 13, "final", 0)
  •  
  • pymysql.install_as_MySQLdb()
  • 好啦 至此常用的都配置完成了

    到此这篇关于Django创建项目+连通mysql的操作方法的文章就介绍到这了,更多相关Django创建项目连通mysql内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!

    原文链接:https://juejin.cn/post/6935740758536224805

    标签:mysql django
    您可能感兴趣