Python基础之 Django模型

本章节主要是包括通过Python安装Mysql驱动(mysqlclient),通过Django创建app,更新数据库模型。

1.安装 mysql 驱动。如果你没安装 mysql 驱动,可以执行以下命令安装:

   pip install mysqlclient

 

2.通过Django创建项目。可以执行以下命令安装:

  python django-admin.py startproject testModel

 

3.进入创建项目,通过Django创建app。可以执行以下命令安装:

 python  django-admin.py startapp TesApp

 

4.数据库及模型相关配置。

(1)修改settings.py数据库及app名称配置。相关配置如下:

 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'TesApp',
]

DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',  # 或者使用 mysql.connector.django
        'NAME': 'He',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST':'localhost',
        'PORT':'3306',
    }
}

 

(2)数据库更新及模型相关配置。

在刚才创建TesApp文件夹的模型文件models.py中修改代码,代码如下:

from django.db import models

# Create your models here.
class Test(models.Model):
    uname = models.CharField(max_length=20)
初始系统默认表及更新新创数据库模型,cmd命令如下:
python manage.py migrate   # 创建表结构
python manage.py makemigrations TesApp # 让 Django 知道我们在我们的模型有一些变更 python manage.py migrate TesApp # 创建表结构

(3)入口文件创建相关配置。
在TestModel文件夹同级settings.py目录中创建home.py文件,代码如下:
#coding=utf-8

from django.http import HttpResponse
from TesApp.models import Test

#测试添加数据
def addData(request):
    test1 = Test(uname='tom')
    test1.save()
    return HttpResponse("数据添加成功!")
    
#测试删除数据
def delData(request):

    #删除表单数据方法1
    test1 = Test.objects.get(id=2)
    test1.delete()
    
    #删除表单数据方法2
    #Test.objects.filter(id=1).delete()
    
    #删除表中所有数据
    #Test.objects.all().delete()
    
    return HttpResponse("数据删除成功!")
    
#测试修改数据
def updateData(request):
   #修改数据方法1(修改数据可以使用 save() 或 update():)
    test1 = Test.objects.get(id=2)
    test1.uname="mike"
    test1.save() 
    
    #修改数据方法2
    #Test.objects.filter(id=1).update(uname='Google')
    
    #修改数据方法3
    #Test.objects.all().update(uname='Google')
    
    return HttpResponse("数据修改成功!")
    
#查询数据
def queryData(request):
    # 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM TABLE
    response1= Test.objects.all()
    showData(response1)
    
    # filter相当于SQL中的WHERE,可设置条件过滤结果,相当于SQL中的SELECT * FROM TABLE WHERE ID=1
    response2=Test.objects.filter(id=1) 
    #showData(response2)
    
    # 获取单个对象,相当于SQL中的SELECT * FROM TABLE WHERE ID=1
    response3 = Test.objects.get(id=2) 
    #showData(response3)
    
    #数据排序
    response4 = Test.objects.order_by("id")
    #showData(response4)
    
    #限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;
    response5 = Test.objects.order_by('uname')[0:2]
    #showData(response5)
    
    # 上面的方法可以连锁使用
    response6 = Test.objects.filter(uname="runoob").order_by("id")
    #showData(response6)
    
    result=""
    result2=""
    #查询列表
    for item in response2:
        result +="id:"+str(item.id)+",uname:"+item.uname+"\r\n"
    
    #查询单条数据
    result2="id:"+str(response3.id)+",uname:"+response3.uname+"\r\n"
    return HttpResponse("<p>" + result2 + "</p>")
 

在urls.py中配置home.py映射url地址,代码如下:

#coding=utf-8

from django.conf.urls import url
from django.contrib import admin
from . import home

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^addData$', home.addData),
    url(r'^delData$', home.delData),
    url(r'^updateData$', home.updateData),
    url(r'^queryData$', home.queryData),
]

(5)cmd启动项目,打开页面地址:

python manage.py runserver

在浏览器输入如下地址,就可看见:
http://127.0.0.1:8000/addData

转载于:https://www.cnblogs.com/joyet-john/p/7173051.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值