本篇文章为大家展示了怎么在Django项目中连通mysql,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
django-admin.py startproject 项目名
cd 项目名
修改setting.py
(1):ALLOWED_HOSTS = []=>ALLOWED_HOSTS = [“*”](2):LANGUAGE_CODE = 'en-us' => LANGUAGE_CODE = 'zh-hans'(3):TIME_ZONE = 'UTC' => TIME_ZONE = 'Asia/Shanghai'
创建app
django-admin.py startproject app名
修改setting.py
INSTALLED_APPS数组增加=>'app名'
项目目录下新增utils文件夹用来封装多个app公共方法
app目录下新增util文件用来封装耽搁app通用方法
app目录下新增view文件夹,里面存放各个页面的逻辑代码
app目录下新增路由文件(urls.py),用来存放此app下的所有路由
格式:from django.urls import pathfrom .views import wx_payurlpatterns = [ path("test", wx_pay.wx_pay().test, name="test"), # 测试]
添加app路由至项目路由中;修改项目目录下的urls.py
from django.contrib import adminfrom django.urls import path, includefrom H5 import urls as h6_urlsurlpatterns = [path('admin/', admin.site.urls),path("h6/", include(h6_urls))]
至此django项目目录结构已经配置结束了,后面即可进入开发环节了。
开发时我们往往会用到数据库;下面介绍下怎么配置数据库
修改项目目录下的setting.py
默认: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':'端口' }}
打开数据库新增上面配置的数据库名(DATABASE1)
配置model,进入app目录的models.py文件
import timefrom 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)
迁移数据至数据库
python manage.py makemigrationspython manage.py migrate
这时候大概率会报错如下:
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 以后的版本
修改项目目录下的__init_.py,增加以下代码
import pymysqlpymysql.version_info = (1, 4, 13, "final", 0)pymysql.install_as_MySQLdb()
上述内容就是怎么在Django项目中连通mysql,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。