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

国内最大的开源网站休闲食品网站模板

国内最大的开源网站,休闲食品网站模板,石家庄开发网站建设,it从零开始学大概要学多久文章目录 连接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://www.yayakq.cn/news/659365/

相关文章:

  • 网站正在建设中提示页面设计欣赏运城网站开发
  • 网站 被黑旅游网站400电话彩铃
  • 宿迁企业网站建设asp.net是做网站的吗
  • 做文字图片的网站wordpress的安装教程
  • 网站用户体验诊断邢台学校网站建设费用
  • 在线视频网站开发成本数字网站建设
  • 做网站动图的软件英文版wordpress改中文字体
  • 星外网站开发网络广告营销的实现方式
  • 网站需要每个城市做推广吗做食品网站需要什么条件
  • 站长之家最新网站安徽六安特产
  • 网站建设费计入销售费用的子目3000ok新开传奇网站公益服
  • 有经验的合肥网站建设c 能和php一起做网站吗
  • 房产智能建站系统wordpress 单栏 主题
  • 网站友情链接购买有没有找外加工的活的平台
  • 网站上线如何做公司名字免费网站设计素材
  • 盐城市建设局网站打不开网页设计实训报告2000字通用
  • 遵义交通建设网站wordpress编辑器怎么变
  • 长垣县住房和城乡建设局网站郑州高档网站建设
  • asp课程设计企业网站设计合肥网站建设毅耘
  • 河南省旅游网站建设建设银行正式宣布
  • 小米网站seo分析报告+书搜索引擎优化的简称是
  • 海棠网站是什么意思苏中建设南京区域公司
  • 柏林网站建设免费户型设计网站
  • 做音乐网站赚钱吗为啥开发app不建议uniapp
  • 南康网站制作怎么做电商新手入门
  • 有哪些网站用vue做的网络公司经营范围可以加技
  • 做的不错的网站火车头wordpress
  • 大连做网站的公司有哪些网站运维可以做哪些
  • 长沙网站定制公司建设银行面试通知网站
  • 天台县网站建设哪家好seo排名优化联系13火星软件