Django数据库的增删改查

通过一个实例学习Django数据库的增删改查

Django
  - 路由系统 url.py
  - 视图函数 views.py
    - 数据库操作 models.py
    - 模板引擎渲染
      - HttpReponse(字符串)
      - render(request,‘/path/a.html‘,{‘name‘:‘root‘})

一、示例:用户基本CURD

1.数据库设计
  id hostname ip port status
2.功能的实现
  创建  project   (pycharm)

     django-admin startproject mysite
  创建  app    (pycharm)

     cd mysite
     python manage.py startapp app01
  配置模板路径   

     settings.py
     TEMPLATE
     DIRS: [os.path.join(BASE_DIR,‘templates‘),]
  配置静态文件

     settings.py
     STATICFILES_DIRS = (
     os.path.join(BASE_DIR,‘static‘),
     )

二、路由系统 urls.py
  a. /^servers$ -> servers
  b. url(r‘^edit_user_new-(?P<nnid>\d+).html$‘, views.edit_user_new),
  c. url(r‘^edit_user_new-(\d+).html$‘, views.edit_user_new,name=‘bbb‘),
    {% url "bbb" 1 %} ==> edit_user_new-1.html
  d. url(r‘^edit_user_new-(?P<nnid>\d+).html$‘, views.edit_user_new, name=‘nnn‘),
    {% url "nnn" nnid=1 %} ==> edit_user_new-1.html
  e.
    主urls.py
      url(r‘^cmdb/‘, include(‘app01.urls‘)),
      url(r‘^config/‘, include(‘app02.urls‘)),
    app01 urls.py
      ...
    app02 urls.py
      ...

三、视图函数 views.py
  获取请求信息:
    request.POST {‘username‘:‘root‘..}
    request.GET
    request.FILES
    request.method
    request.body = username=root;age=18;gender=male

  响应结果:
    return HttpReponse(..)
    return render(request,‘path/a.html‘,{})
    return redirect(‘http://www.baidu.com‘)

下面为views返回的三种方法,和前端使用模板的方法,用{{}}调用

当模板中使用for循环和取字典的值,使用点

四、Django数据库操作

  1. 类 --> 数据库的表
      字段 --> 列
      对象 --> 一行数据
   class UserInfo(models.Model):
      nid = models.AutoField(primary_key=True)
      username = models.CharField(max_length=32)
      pwd = models.CharField(max_length=64)
      age = models.IntegerField()

2. 根据app的models.py生成数据库表
   python manage.py makemigrations
   python manage.py migrate

   PS: settings注册app名字
      注意:
    MySQL
      - 手动创建库名
      - settings.py 中配置
        DATABASES = {
          ‘default‘: {
          ‘ENGINE‘: ‘django.db.backends.mysql‘,
          ‘NAME‘:‘dbname‘,
          ‘USER‘: ‘root‘,
          ‘PASSWORD‘: ‘xxx‘,
          ‘HOST‘: ‘‘,
          ‘PORT‘: ‘‘,
          }
        }
      - Django默认链接MySQL:
        - MySqlDB
        - pymysql
        在配置目录的init.py中:
          import pymysql
          pymysql.install_as_MySQLdb()

3. 数据库基本操作
a. 查
models.tb.objects.all()
models.tb.objects.filter(nid=1)
models.tb.objects.filter(nid=1).first()

b. 增
models.tb.objects.create(...)

obj = models.tb(...)
obj.save()
c. 删
models.tb.objects.all().delete()
models.tb.objects.filter(nid=1).delete()
d. 改
models.tb.objects.all().update(...)
models.tb.objects.filter(nid=1).update(...)

设计数据库表

时间: 2024-10-05 05:32:17

Django数据库的增删改查的相关文章

Django数据库基本增删改查操作

urls.py文件里的内容---实现url路由 from django.contrib import admin from django.urls import path,include from app01 import views urlpatterns = [ path('credata/', views.credata), ] views.py文件里方法定义 from django.shortcuts import HttpResponse import pymysql pymysql.

django数据库基本操作-增删改查(tip)-基本

1.插入数据 1 Python代码 2 >>> from books.models import Publisher 3 >>> p1 = Publisher(name='Apress', address='2855 Telegraph Avenue', 4 ... city='Berkeley', state_province='CA', country='U.S.A.', 5 ... website='http://www.apress.com/') 6 >&

转: django数据库操作-增删改查-多对多关系以及一对多(外键)关系

原文链接:http://blog.csdn.net/u010271717/article/details/22044415 一.一对多(外键) 例子:一个作者对应多本书,一本书只有一个作者 model代码: [python] view plain copy class Person(models.Model); name = models.CharField('作者姓名', max_length=10) age = models.IntegerField('作者年龄') class Book(m

django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面

1.为test.DB数据库预先创建下面数据 1    张三    16    2015-01-02    12    李四    17    2015-01-04    13    王五    14    2015-04-24    0 2.配置C:\djangoweb\helloworld\blog\urls.py文件 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url urlpatterns

django-13.操作数据库(增删改查)

django的models模块里面可以新增一张表和字段,通常页面上的数据操作都来源于数据库的增删改查,django如何对msyql数据库增删改查操作呢?本篇详细讲解django操作mysql数据库 新增数据 接着前面数据库User表创建成功后,如果我们在页面上注册用户的话,就需要在User表新增一条数据比如,我们想在User表插入一组数据 user_name=yoyo5, psw=555555 在urls.py同一目录(helloworld/helloworld/testdb.py)新建一个te

Django rest_framework实现增删改查接口

目录 Django rest_framework实现增删改查接口 写接口前的知识准备 __all__的使用方法 序列化类配置 Response二次封装 连表深度查询 单查群查接口 单删群删接口 单增,群增接口 整体单改群改接口 局部修改数据 视图给序列化传参 Django rest_framework实现增删改查接口 本文使用Django的rest_framework框架的ModelSerializer模块和ListSerializer模块实现单查群查.单删群删.单增群增.单改群改接口. 写接口

【Hibernate】Hibernate的在Eclipse+Mysql的配置、安装,纯Java,利用Annotation与HQL完成数据库的增删改查

这篇文章有很多槽点,在Hibernate4.x上面用着Hibernate3.x的写法去写.而且程序中放到Eclipse中会有一大堆警告,但是这好歹也在一定程度上完成了Hibernate的入门.毕竟现在很多介绍Hibernate的书籍都是用Hibernate3.x的写法去写.上次那篇<[Hibernate]最简单的Hibernate工程--账号注册系统>(点击打开链接)杂糅Struts的技术其实是不对的.因为Hibernate完成的是,从Java到数据库,从数据库到Java的任务.之后Java与

android中SQLite数据库的增删改查

1.数据库帮助类PersonSQLiteOpenHelper package com.wzw.sqllitedemo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码: