django連接數(shù)據(jù)庫獲取數(shù)據(jù)的簡單步驟記錄
1、創(chuàng)建項目
執(zhí)行代碼
django-admin startproject myweb
2、創(chuàng)建應用
python manage.py startapp myapp
3、運行項目
python manage.py runserver
如果沒有加端口號就是默認8080,可以自己加端口號,防止與其它項目的端口號重復導致不能運行成功
python manage.py runserver 0.0.0.0:8080
端口號可以隨意取,只要不重復就行
4、連接數(shù)據(jù)庫
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydemo', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost', 'PORT': '3306', } }
如果沒有安裝mysqlclient模塊執(zhí)行以下代碼進行安裝
pip install mysqlclient
然后在目錄中創(chuàng)建模型
```python from django.db import models # Create your models here. class Stu(models.Model): '''自定義Stu表對應的Model類''' #定義屬性:默認主鍵自增id字段可不寫 id = models.AutoField(primary_key=True) name = models.CharField(max_length=16) age = models.SmallIntegerField() sex = models.CharField(max_length=1) classid=models.CharField(max_length=8) # 定義默認輸出格式 def __str__(self): return "%d:%s:%d:%s:%s"%(self.id,self.name,self.age,self.sex,self.classid) # 自定義對應的表名,默認表名:myapp_stu class Meta: db_table="stu"
激活模型——把新增的應用添加到模型中。
編輯myweb/settings.py文件,并將該虛線路徑添加到該INSTALLED_APPS設置。 INSTALLED_APPS = [ 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django.contrib.sessions' , 'django.contrib.messages' , 'django.contrib.staticfiles' , 'myapp.apps.MyappConfig', #或者直接寫 myapp ]
5、創(chuàng)建數(shù)據(jù)庫stu
使用Navicat數(shù)據(jù)庫,在數(shù)據(jù)庫中要創(chuàng)建數(shù)據(jù)庫myweb,創(chuàng)建表stu,自己根據(jù)model模型中的數(shù)據(jù)類型增加數(shù)據(jù)。
數(shù)據(jù)都要有單引號,否則會報錯
錯誤記錄
TypeError: connect() argument 3 must be str, not int
類型不匹配的問題,要把數(shù)據(jù)庫中字段的類型跟代碼中的類型相匹配。
RuntimeError: Model class myapp.models.Stu doesn’t declare an explicit app_label and isn’t in an app
沒有激活模型,原來我是寫成myphoto,不是myapp,所以會報錯。
6、應用
# 文件:myapp/views.py 文件代碼 from django.shortcuts import render from django.http import HttpResponse from myapp.models import Stu # Create your views here. def index(request): return HttpResponse("Hello Django!") def stu(request): #獲取所有stu表信息 lists = Stu.objects.all() print(lists) #獲取單條學生信息 print(Stu.objects.get(id=1)) return HttpResponse("ok")
配置stu函數(shù)的訪問路由
#在myapp/urls.py文件中配置 path('stu/', views.stu),
然后啟動服務
python manage.py runserver
在網(wǎng)頁中的路徑改為以下路徑
http://127.0.0.1:8088/myapp/stu/
cmd里有數(shù)據(jù)顯示
顯示數(shù)據(jù)庫中的數(shù)據(jù)
7、總結(jié)
簡易的一個獲取數(shù)據(jù)庫內(nèi)容的例子,最主要的是要自己先創(chuàng)建數(shù)據(jù)才能獲取到。
到此這篇關(guān)于django連接數(shù)據(jù)庫獲取數(shù)據(jù)的文章就介紹到這了,更多相關(guān)django連接數(shù)據(jù)庫獲取數(shù)據(jù)內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。