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