使用Django為數據庫添加數據


本項目各插件版本:Django:1.10  pymysql 0.10.0 如果Django版本高沒有什么大問題

1.新建Django項目

 

 

 在Applications name處新建一個項目,當然也可以不用新建,只不過會麻煩一些

 

 

 

2.新建html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        * {
            margin: 0;
            padding: 0
        }
        .head{
            line-height: 40px;
            background-color: green;
            color: white;
            text-align: center;

        }

    </style>
</head>
<body>

<div class="outer">
    <div class="head">標題</div>
    <div class="content">
        <a href="/addbook/">添加書籍</a>
        <a href="/update/">修改書籍</a>
        <a href="/delete/">刪除書籍</a>
        <a href="/select/">查詢書籍</a>
    </div>
    <hr>
    </div>
</div>

</body>
</html>

  

 

 

3.進入settings進行設置

找到DATABASES,對其內容進行刪除或注釋,並添加以下代碼,如下所示

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }

    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',  # 你的數據庫名稱
        'USER': 'root',  # 你的mysql用戶名
        'PASSWORD': 'admin',  # 你的數據庫密碼
        'HOST':'',  # 你的數據庫主機,留空默認為localhost
        'PORT': '3306',  # 你的數據庫端口
    }

}

  

4.編寫models

from django.db import models

#這里為了簡潔,就設置了兩個變量添加進數據庫

# Create your models here.
class book(models.Model):
    name = models.CharField(max_length=20)
    price = models.IntegerField()

  

 

 

 

5.進入apps應用的views文件中寫入代碼

from django.shortcuts import render,HttpResponse,redirect
from apps.models import *
import time
# Create your views here.


def mb(request):
return render(request,"mb.html")

def addbook(request):
b = book(name="python基礎",price=98)
b.save()#保存
return HttpResponse("添加成功")

def update(request):
book.objects.filter(name="111").update(name="123")
return HttpResponse("修改成功")

def delete(request):
res = book.objects.get(name="三國演義")
print(res)
res.delete()
return HttpResponse("刪除成功")

def select(request):
return HttpResponse("正在查詢")

  

 

6.使用pycharm設置數據庫連接

 

點擊此處

 

 

 

點擊綠色加號,點擊Data Source,選擇MYSQL

 

 

 

添加配置

 

  

 

7.進入主項目路由urls進行編寫,而不是應用apps的路由urls

from django.conf.urls import url,include
from django.contrib import admin
from apps import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^mb/', views.mb),#添加首頁
    url(r'^addbook/', views.addbook),#添加添加數據路由
]

  

 

8.導入遷移驅動並遷移

在主項目init.py文件中編寫

import pymysql
pymysql.install_as_MySQLdb()

遷移

python manage.py makemigrations

可能會出現下列錯誤

1.No changes detected

解決方法:需要在settings里添加應用變量,如是已添加並二次執行,可在命令后加入自己的當前的應用名,python manage.py makemigrations apps

 

2.應用未被注冊

 

 出現此問題是說明你的應用未被注冊,因此咱們進入settings找到INSTALLED_APPS注冊你的應用

應用名.apps.AppsConfig

例:'apps.apps.AppsConfig',

 

 

遷移完成后,輸入python mysql migrate命令完成遷移

 

之后在相應的數據庫內會出現很多表,第一個就是我們要使用的數據表

 

 

 

9. 注意事項

 

 表格創建完后我們會看到有三個字段

但是我們就創建了name與price字段

是因為id字段會被遷移文件自動加上並設置為主鍵,所以我們就不用新建id字段

如果此表沒有id字段需要手動刪除數據庫,然后重新新建此庫並重新遷移

 

 

感謝閱讀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM