您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在Django項(xiàng)目中連通mysql,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
1:django-admin.py startproject 項(xiàng)目名
2:cd 項(xiàng)目名
3:修改setting.py
(1):ALLOWED_HOSTS = []=>ALLOWED_HOSTS = [“*”] (2):LANGUAGE_CODE = 'en-us' => LANGUAGE_CODE = 'zh-hans' (3):TIME_ZONE = 'UTC' => TIME_ZONE = 'Asia/Shanghai'
4:創(chuàng)建app
django-admin.py startproject app名
5:修改setting.py
INSTALLED_APPS數(shù)組增加=>'app名'
6:項(xiàng)目目錄下新增utils文件夾用來封裝多個(gè)app公共方法
7:app目錄下新增util文件用來封裝耽擱app通用方法
8:app目錄下新增view文件夾,里面存放各個(gè)頁面的邏輯代碼
9:app目錄下新增路由文件(urls.py),用來存放此app下的所有路由
格式: from django.urls import path from .views import wx_pay urlpatterns = [ path("test", wx_pay.wx_pay().test, name="test"), # 測試 ]
10:添加app路由至項(xiàng)目路由中;修改項(xiàng)目目錄下的urls.py
from django.contrib import admin from django.urls import path, include from H5 import urls as h6_urls urlpatterns = [ path('admin/', admin.site.urls), path("h6/", include(h6_urls)) ]
至此django項(xiàng)目目錄結(jié)構(gòu)已經(jīng)配置結(jié)束了,后面即可進(jìn)入開發(fā)環(huán)節(jié)了。
開發(fā)時(shí)我們往往會(huì)用到數(shù)據(jù)庫;下面介紹下怎么配置數(shù)據(jù)庫
11:修改項(xiàng)目目錄下的setting.py
默認(rèn): DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } 修改后: DATABASES = { 'default': { ‘ENGINE' :'django.db.backends.mysql', 'NAME':'數(shù)據(jù)庫名(以下稱DATABASE1)', 'USER':'用戶名', ‘PASSWORD':'數(shù)據(jù)庫密碼', 'HOST':'ip地址', 'PORT':'端口' } }
12:打開數(shù)據(jù)庫新增上面配置的數(shù)據(jù)庫名(DATABASE1)
13:配置model,進(jìn)入app目錄的models.py文件
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("數(shù)字", default=1, null=True, blank=True) create_time = models.DateTimeField("時(shí)間", default=time.strftime('%Y-%m-%d %H:%M:%S'), blank=True)
14:遷移數(shù)據(jù)至數(shù)據(jù)庫
python manage.py makemigrations python manage.py migrate
15:這時(shí)候大概率會(huì)報(bào)錯(cuò)如下:
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
此報(bào)錯(cuò)主要因?yàn)镸ysqldb 不兼容 python3.5 以后的版本
16:修改項(xiàng)目目錄下的__init_.py,增加以下代碼
import pymysql pymysql.version_info = (1, 4, 13, "final", 0) pymysql.install_as_MySQLdb()
上述內(nèi)容就是怎么在Django項(xiàng)目中連通mysql,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。