摘要:中默認(rèn)使用數(shù)據(jù)庫(kù),今天研究了下如何將它換成常見(jiàn)的數(shù)據(jù)庫(kù)。由于項(xiàng)目用得,而沒(méi)有支持的版本,如果使用版本時(shí),時(shí)會(huì)報(bào)錯(cuò)。
Django中默認(rèn)使用sqlite3數(shù)據(jù)庫(kù),今天研究了下如何將它換成常見(jiàn)的mysql數(shù)據(jù)庫(kù)。
由于項(xiàng)目用得python3,而MySQLdb沒(méi)有支持python3的版本,如果使用python3.x版本時(shí),pip install MySQLdb時(shí)會(huì)報(bào)錯(cuò)。
后來(lái)通過(guò)谷歌發(fā)現(xiàn)可以使用pymysql替代MySQLdb
1 在項(xiàng)目根目錄下的__init__.py文件中加入如下代碼:
import pymysql pymysql.install_as_MySQLdb()
2 使用mysqlclient代替MySQLdb,安裝方式為:
pip install mysqlclient
3 更改項(xiàng)目setting.py中對(duì)數(shù)據(jù)庫(kù)的配置為:
DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "test", "USER": "username", "PASSWORD": "passwd", "HOST": "localhost", "PORT": "3306" } }
4 最后通過(guò)python manage.py migrate命令,Django會(huì)在數(shù)據(jù)庫(kù)中自動(dòng)創(chuàng)建相應(yīng)的表
Operations to perform: Apply all migrations: admin, auth, contenttypes, polls, sessions Running migrations: 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 polls.0001_initial... OK Applying sessions.0001_initial... OK
5 在創(chuàng)建admin用戶(hù)時(shí),遇到了如下報(bào)錯(cuò)
python manage.py createsuperuser Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.
后來(lái)查了一下,是因?yàn)槭褂昧薵it來(lái)執(zhí)行命令,切換到Windows自帶的命令行,可以解決該問(wèn)題!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42744.html
摘要:那就是新建一個(gè)用戶(hù),賦予該用戶(hù)只能操作該數(shù)據(jù)庫(kù)的權(quán)限。這是根據(jù)安全開(kāi)發(fā)中的最小權(quán)限原則規(guī)定而來(lái)的,能夠有效的防止網(wǎng)站被攻擊后的代價(jià)。 基本操作將用一個(gè)簡(jiǎn)單的實(shí)例來(lái)穿針引線,將盡量涉及到多的操作方法和軟件設(shè)計(jì)的原理 設(shè)計(jì)表的結(jié)構(gòu) 我們想要做一個(gè)班級(jí)管理的程序,我們先去設(shè)計(jì)一下數(shù)據(jù)庫(kù)表的結(jié)構(gòu)。首先我們應(yīng)該有一下幾張表 班級(jí)表 學(xué)生表 班級(jí)表 表名:classes 班級(jí)id:id 班級(jí)...
摘要:靜態(tài)資源路徑可以有多個(gè),所以這里使用一個(gè)列表進(jìn)行配置再次進(jìn)入,完美后記現(xiàn)在只涉及到了項(xiàng)目的配置和一些基礎(chǔ)的配置,沒(méi)有涉及到請(qǐng)求從開(kāi)始到完成的任何內(nèi)容。下篇教程將集中進(jìn)行記錄。 前言 推薦使用 virtualenv 創(chuàng)建 python 虛擬環(huán)境,防止因?yàn)槭褂?pip 安裝依賴(lài)到全局引起版本沖突的問(wèn)題,PyCharm 默認(rèn)會(huì)生成一個(gè) venv 目錄并創(chuàng)建虛擬環(huán)境,使用 IDE 自帶的終端...
閱讀 2829·2021-10-13 09:48
閱讀 3801·2021-10-13 09:39
閱讀 3602·2021-09-22 16:04
閱讀 1837·2021-09-03 10:48
閱讀 847·2021-08-03 14:04
閱讀 2367·2019-08-29 15:18
閱讀 3411·2019-08-26 12:19
閱讀 2880·2019-08-26 12:08