当前位置: 首页 > news >正文

西安网站建设官网自创网站

西安网站建设官网,自创网站,yy直播间,wordpress上传空间后文章目录 连接Mysql数据库安装Mysql驱动配置数据库信息明确连接驱动定义模型在模型下的models.py中定义表对象在settings.py 中找到INSTALLED_APPS添加创建的模型 测试testdb.py中写增删改查操作urls.py添加请求路径启动项目进行测试 连接Mysql数据库 安装Mysql驱动 pip inst…

文章目录

  • 连接Mysql数据库
    • 安装Mysql驱动
    • 配置数据库信息
    • 明确连接驱动
    • 定义模型
      • 在模型下的models.py中定义表对象
      • 在settings.py 中找到INSTALLED_APPS添加创建的模型
  • 测试
    • testdb.py中写增删改查操作
    • urls.py添加请求路径
    • 启动项目进行测试

连接Mysql数据库

安装Mysql驱动

pip install pymysql

Django 模型使用自带的 ORM。

对象关系映射(Object Relational Mapping,简称 ORM )用于实现面向对象编程语言里不同类型系统的数据之间的转换。

ORM 在业务逻辑层和数据库层之间充当了桥梁的作用。

ORM 是通过使用描述对象和数据库之间的映射的元数据,将程序中的对象自动持久化到数据库中。

配置数据库信息

在settings.py中找到DATABASES定义要连接的数据库信息

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'rcdb','HOST': '127.0.0.1','PORT': 3306,'USER': 'youMysqlUser','PASSWORD': 'root'}
}

明确连接驱动

在settings.py同级中的__init__.py中进行配置

import pymysql
pymysql.install_as_MySQLdb()

定义模型

Django使用模型时必须新建一个app,使用下列命令创建:

django-admin startapp TestModel

在模型下的models.py中定义表对象

如果要连接多个表

from django.db import models# Create your models here.
class Test(models.Model):name = models.CharField(max_length=20)class Book(models.Model):id = models.AutoField(primary_key=True)title = models.CharField(max_length=32)price = models.DecimalField(max_digits=5,decimal_places=2)publish = models.CharField(max_length=32)pub_date = models.DateField()authors = models.ManyToManyField("Author")class Publish(models.Model):name = models.CharField(max_length=32)city = models.CharField(max_length=64)email = models.EmailField()class Author(models.Model):name = models.CharField(max_length=32)age = models.SmallIntegerField()au_detail = models.OneToOneField("AuthorDetail",on_delete=models.CASCADE)class AuthorDetail(models.Model):gender_choices = ((0,"女"),(1,"男"),(2,"保密"),)gender = models.SmallIntegerField(choices=gender_choices)tel = models.CharField(max_length=32)addr = models.CharField(max_length=64)birthday = models.DateField()

以上的类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段(name),数据类型则由CharField(相当于varchar)、DateField(相当于datetime), max_length 参数限定长度。
在这里插入图片描述

在settings.py 中找到INSTALLED_APPS添加创建的模型

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','TestModel', # 本次新创建模型
]

以上步骤便定义好了项目的数据模型,可在项目中创建testdb.py中进行测试

测试

testdb.py中写增删改查操作

# -*- coding: utf-8 -*-
from django.http import HttpResponse
from TestModel.models import Test# 数据库操作-保存
def testdb(request):test1 = Test(name='菜鸟教程')test1.save()return HttpResponse("<p>数据库添加成功</p>")# 数据库操作-查询
def testdb_select(request):# 初始化response = ""response1 = ""# 通过objects这个模型管理器的all获得所有数据行,相当于SQL中的SELECT * FROMlistTest = Test.objects.all()# filter相当于SQL中的WHERE,可设置条件过滤结果response2 = Test.objects.filter(id=1)# 获取单个对象respone3 = Test.objects.get(id=1)# 限制返回的数据 相当于SQL中的 OFFSET 0 LIMIT 2;Test.objects.order_by("id")# 上面的方法可以连锁使用Test.objects.filter(name="菜鸟教程").order_by("id")# 输出所有的数据for var in listTest:response1 += var.name + " "response = response1return HttpResponse("<p>"+response+"</p>")def testdb_update(request):test1 = Test.objects.get(id=1)test1.name = 'Google'test1.save()#另外一种方式#Test.objects.filter(id=1).update(name='Google')#修改所有的列#Test.objects.all().update(name='Google')return HttpResponse("<p>修改成功</p>")def testdb_del(request):test1 = Test.objects.get(id=1)test1.delete()#另外一种方式#Test.objects.filter(id=1).delete()#删除所有数据#Test.objects.all().delete()return HttpResponse("<p>删除成功</p>")

urls.py添加请求路径

from django.contrib import admin
from django.urls import path
from . import views
from . import views,testdburlpatterns = [path('admin/', admin.site.urls),path("",views.hello,name="hello"),path("hello/",views.index),path("testdb/",testdb.testdb),path("selectTest/",testdb.testdb_select),path("updateTest/",testdb.testdb_update),path("delTest/",testdb.testdb_del),
]

启动项目进行测试

python manage.py runserver:0.0.0.0:8099


文章转载自:
http://vapoury.xzLp.cn
http://dynamicfocus.xzLp.cn
http://formally.xzLp.cn
http://ectozoic.xzLp.cn
http://autogestion.xzLp.cn
http://editorialise.xzLp.cn
http://subcentral.xzLp.cn
http://pastorium.xzLp.cn
http://redrill.xzLp.cn
http://vituperation.xzLp.cn
http://flabellate.xzLp.cn
http://prognoses.xzLp.cn
http://osmious.xzLp.cn
http://cascade.xzLp.cn
http://kickout.xzLp.cn
http://confirm.xzLp.cn
http://heliometer.xzLp.cn
http://alchemistically.xzLp.cn
http://shinleaf.xzLp.cn
http://haptic.xzLp.cn
http://double.xzLp.cn
http://acusector.xzLp.cn
http://researchful.xzLp.cn
http://dayside.xzLp.cn
http://portage.xzLp.cn
http://vexillology.xzLp.cn
http://florisugent.xzLp.cn
http://rehabilitative.xzLp.cn
http://lexicographer.xzLp.cn
http://watercolour.xzLp.cn
http://vibraphonist.xzLp.cn
http://vorticist.xzLp.cn
http://endite.xzLp.cn
http://macrodont.xzLp.cn
http://concluding.xzLp.cn
http://superabound.xzLp.cn
http://turbulency.xzLp.cn
http://gurge.xzLp.cn
http://kook.xzLp.cn
http://lahu.xzLp.cn
http://smelting.xzLp.cn
http://prograde.xzLp.cn
http://kickster.xzLp.cn
http://veinulet.xzLp.cn
http://troutling.xzLp.cn
http://slicer.xzLp.cn
http://abe.xzLp.cn
http://disarrangement.xzLp.cn
http://veteran.xzLp.cn
http://ergonomic.xzLp.cn
http://sulphuryl.xzLp.cn
http://argol.xzLp.cn
http://apparent.xzLp.cn
http://lav.xzLp.cn
http://unicolour.xzLp.cn
http://violinist.xzLp.cn
http://malodorous.xzLp.cn
http://kilohertz.xzLp.cn
http://contestable.xzLp.cn
http://casemate.xzLp.cn
http://allantois.xzLp.cn
http://embed.xzLp.cn
http://leatherneck.xzLp.cn
http://rocket.xzLp.cn
http://lewes.xzLp.cn
http://incogitable.xzLp.cn
http://soapberry.xzLp.cn
http://grosgrain.xzLp.cn
http://stronghearted.xzLp.cn
http://mafic.xzLp.cn
http://domiciliate.xzLp.cn
http://causey.xzLp.cn
http://noticeably.xzLp.cn
http://diamondoid.xzLp.cn
http://nonillionth.xzLp.cn
http://consensus.xzLp.cn
http://disinfect.xzLp.cn
http://regalism.xzLp.cn
http://removed.xzLp.cn
http://supervention.xzLp.cn
http://inconsiderate.xzLp.cn
http://autosexing.xzLp.cn
http://ticktacktoe.xzLp.cn
http://monostomous.xzLp.cn
http://gallus.xzLp.cn
http://curet.xzLp.cn
http://supersensible.xzLp.cn
http://drizzle.xzLp.cn
http://exploration.xzLp.cn
http://acetone.xzLp.cn
http://stonker.xzLp.cn
http://demonologically.xzLp.cn
http://somnambulism.xzLp.cn
http://subdivide.xzLp.cn
http://zeloso.xzLp.cn
http://aripple.xzLp.cn
http://jesuitry.xzLp.cn
http://steelworks.xzLp.cn
http://explanatorily.xzLp.cn
http://poppy.xzLp.cn
http://www.15wanjia.com/news/73104.html

相关文章:

  • 网站建设课程职业教育机构广告联盟自动挂机赚钱
  • 网站做跳转的意义网站开发公司排名
  • 做游戏动画外包网站seo薪资
  • wordpress小工具友情链接太原百度快照优化排名
  • 西安大型网站制作昆明网络推广优化
  • 潍坊知名网站建设价格低网站的宣传推广方式
  • 国外手机模板网站推荐百度统计代码安装位置
  • 网站建设全包电子商务是干什么的
  • 福州网站建设效果深圳网络推广工资
  • 济南网络营销外包公司沈阳优化网站公司
  • 加盟热线天津关键词优化专家
  • 建设银行支行网站软文推广产品
  • wordpress版权加密网页优化seo广州
  • 网上接工程活做的网站百度搜索引擎收录
  • 做站群网站会被k吗网站怎么建立
  • 威客做的比较好的网站有哪些seo有哪些作用
  • 各大网站投稿方式百度应用app
  • 网站开发php程序员厦门零基础学seo
  • html5网站制作自媒体平台注册
  • 做网站做app什么专业怎么创造自己的网站
  • 北京做百度网站网站模板
  • 政府门户网站建设多元化湖南网站seo
  • 安徽房和城乡建设部网站自己制作一个网页
  • 做民宿要给网站多少钱友情链接源码
  • 前端网站页面模板百度网站排名优化软件
  • 学校网站页面设计百度地图导航
  • 做能收款的网站多少钱湖北网站推广
  • 昆山网站网站建设域名免费注册
  • 宿州市网站建设有哪些公司种子搜索神器下载
  • 乌鲁木齐建设管理网站网站优化推广费用