首頁 > 軟體

django連線資料庫獲取資料的簡單步驟記錄

2022-07-13 14:01:34

1、建立專案

執行程式碼

django-admin startproject myweb

2、建立應用

python manage.py startapp myapp

3、執行專案

python manage.py runserver

如果沒有加埠號就是預設8080,可以自己加埠號,防止與其它專案的埠號重複導致不能執行成功

python manage.py runserver 0.0.0.0:8080

埠號可以隨意取,只要不重複就行

4、連線資料庫

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydemo',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

如果沒有安裝mysqlclient模組執行以下程式碼進行安裝

pip install  mysqlclient

然後在目錄中建立模型

```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、建立資料庫stu

使用Navicat資料庫,在資料庫中要建立資料庫myweb,建立表stu,自己根據model模型中的資料型別增加資料。

資料都要有單引號,否則會報錯

錯誤記錄

TypeError: connect() argument 3 must be str, not int

型別不匹配的問題,要把資料庫中欄位的型別跟程式碼中的型別相匹配。

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函數的存取路由

#在myapp/urls.py檔案中設定

path('stu/', views.stu),

然後啟動服務

python manage.py runserver

在網頁中的路徑改為以下路徑

http://127.0.0.1:8088/myapp/stu/

cmd裡有資料顯示

顯示資料庫中的資料

7、總結

簡易的一個獲取資料庫內容的例子,最主要的是要自己先建立資料才能獲取到。

到此這篇關於django連線資料庫獲取資料的文章就介紹到這了,更多相關django連線資料庫獲取資料內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com