zoukankan      html  css  js  c++  java
  • 使用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字段需要手动删除数据库,然后重新新建此库并重新迁移

    感谢阅读

  • 相关阅读:
    申请国家自然科学基金项目的一点体会(周浙昆)
    漫谈影响自然基金申请的因素
    凡是过往,皆为序章—写在2018年国基揭榜之时
    再谈国家基金项目申请中的几个问题
    国家基金申请书中的科学问题与关键问题
    我喜欢这样的国家自然科学基金本子
    Fedora 28 —— install fonts for WPS
    清华11篇撤稿背后:院方早已处理,被曝光才公开结果
    CPU:chip、core 和 processor 的关系
    Fedora 28 —— chm 阅读器
  • 原文地址:https://www.cnblogs.com/wandn/p/13431383.html
Copyright © 2011-2022 走看看