使用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字段需要手动删除数据库,然后重新新建此库并重新迁移

感谢阅读

原文地址:https://www.cnblogs.com/wandn/p/13431383.html