在之前,我們寫出了一個(gè)視圖,但這還遠(yuǎn)遠(yuǎn)達(dá)不到我們的需求!
數(shù)據(jù)庫配置
首先請打開projectname/projectname/settings.py
默認(rèn)情況下,Django為你提供了sqlite3,如果你不擅長其他數(shù)據(jù)庫并且只是想學(xué)習(xí)一下Django,可以直接跳過這一步
但有的人則不同,我們學(xué)習(xí)它就是為了在生產(chǎn)環(huán)境中使用,所以我們要選擇一些更具可伸縮性的數(shù)據(jù)庫例如PostgreSQL、MySQL,在這里我們以MySQL為主
打開settings.py后,找到DATABASES,修改為以下內(nèi)容
DATABASES = {
????'default': {
????????'ENGINE': 'django.db.backends.mysql',
????????'NAME': 'dbname',
????????'HOST': 'localhost',
????????'USER': 'root',
????????'PASSWORD': 'password',
????????'PORT': '3306',
????}
}
請根據(jù)你對數(shù)據(jù)庫的配置修改相應(yīng)的參數(shù)
同時(shí),找到TIME_ZONE并設(shè)置為我們的市區(qū)
TIME_ZONE = 'Asia/Shanghai'
注意,是Shanghai,不是Beijing
接著,運(yùn)行該指令
python manage.py migrate
Django自帶的一些應(yīng)用也使用到了數(shù)據(jù)庫,你需要運(yùn)行該函數(shù)創(chuàng)建數(shù)據(jù)表
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
這時(shí),使用MySQL的人會(huì)發(fā)現(xiàn)出現(xiàn)了問題!提示我們沒有安裝MySQLdb,有的人會(huì)立刻“pip install MySQLdb”,然后發(fā)現(xiàn)又出現(xiàn)了問題!
不要繼續(xù)折騰了,MySQLdb模塊不支持python3,所以我們應(yīng)該使用pymysql
pip install pymysql
然后打開projectname/projectname/__init__.py,添加以下代碼
import pymysql
pymysql.install_as_MySQLdb()
接著,我們再次執(zhí)行migrate命令,如果數(shù)據(jù)庫配置沒有問題的話,它就會(huì)自動(dòng)開始數(shù)據(jù)表創(chuàng)建了
創(chuàng)建模型
數(shù)據(jù)庫配置好后,我們就要開始編寫模型了!
打開projectname/appname/models.py
首先我們試著創(chuàng)建一個(gè)簡單的模型,在原有代碼里加入以下內(nèi)容
class User(models.Model):
????UserID = models.IntegerField(default = 0)
????UserName = models.CharField( max_length = 100)
????UserPass = models.CharField( max_length = 300)
暫時(shí)我們不用過度關(guān)系這些東西是做什么的,我們我們開始激活模型