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

企业网站做多大尺寸免费开源网站

企业网站做多大尺寸,免费开源网站,网站 空间,锋创科技园网站建设文章目录 前言一、项目初始化搭建1、创建项目:test_models_django2、创建应用app01 二、配置mysql三、创建model实例,自动创建数据库表1、创建对象User类2、执行命令 四、思考问题(****)1、是否会生成新表呢(答案报错&…

文章目录

  • 前言
  • 一、项目初始化搭建
    • 1、创建项目:test_models_django
    • 2、创建应用app01
  • 二、配置mysql
  • 三、创建model实例,自动创建数据库表
    • 1、创建对象User类
    • 2、执行命令
  • 四、思考问题(****)
    • 1、是否会生成新表呢(答案报错)
    • 2、总结
  • 五、f_user_01和f_user的添加操作
    • 1、f_user_01中的添加操作(自动生成的表)
      • a、views.py
      • b、urls.py
      • c、测试
    • 2、f_user中的添加操作(手动在mysql创建的表)
      • a、views.py
      • b、urls.py
      • c、测试
      • d、print输出
    • 3、发现问题
      • a、问题
      • b、原因
      • c、解决
      • d、删除之后再运行
  • 六、总结

前言

  • 上接博文:Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld。
  • 紧跟上一篇博文,本文主要基于上一篇项目的内容,配置mysql,创建model实例,自动创建数据库表,进行操作model,并进行反思(不采用自动创建表,如何操作mysql的表)
  • 有兴趣可以添加我,一起探讨技术。
    • 加V:Fengfl1222,名称:insist科技。
    • 要资料,申请备注为:CSDN+地方,如CSDN山东。
    • 想接项目一起努力进步,申请备注为:CSDN+地方+项目,如CSDN+山东+项目,添加成功之后,可以发一份简历。
    • 本人介绍:211高校(北京交通大学)计算机研究生,本科双非计算机毕业后,校招进入军工,工作2个月离职后进入阿里,工作两年后离职考研,现已毕业,入职济南某大厂。主要技术栈:java、python、vue、react等web开发需求。已有开发团队,如果有空闲时间想一个接项目者,可以加我呦。
    • 不按上诉规则添加好友者,不予通过。
  • 项目环境
    • python: 3.11.5
    • django:4.1
      在这里插入图片描述

一、项目初始化搭建

1、创建项目:test_models_django

详细创建请看博文一:Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld

对前面的搭建流程梳理简化。

  1. django-admin startproject test_models_django:创建项目test_models_django
  2. cd test_models_django
  3. python manage.py migrate
    在这里插入图片描述
  4. python manage.py runserver:运行项目
    在这里插入图片描述
  5. 浏览器输入网址:http://127.0.0.1:8000/,结果如下,Django项目搭建成功
    在这里插入图片描述
  6. 使用pycharm打开如下。配置环境啥的请看博文一。

2、创建应用app01

  1. python manage.py startapp app01:创建应用app01

  2. 主包中配置应用app01,如下所示:
    在这里插入图片描述

  3. app01中的urls.pyviews.py。(没有则新建)
    在这里插入图片描述
    在这里插入图片描述

  4. 主包中的urls.py
    在这里插入图片描述

  5. 浏览器输入网址:http://127.0.0.1:8000/hello,结果如下,应用搭建成功
    在这里插入图片描述

二、配置mysql

主包中settings.py
默认的数据库配置如下。

DATABASES = {"default": {"ENGINE": "django.db.backends.sqlite3","NAME": BASE_DIR / "db.sqlite3",}
}

修改后如下所示

DATABASES = {"default": {"ENGINE": "django.db.backends.mysql","NAME": "数据库名","USER": "用户","PASSWORD": "密码","HOST": "ip","PORT": "3306"}
}

保存后,系统报错,缺少mysql插件,需要安装mysqlclient
在这里插入图片描述
执行以下命令安装

pip install mysqlclient

或者使用conda来安装

conda install mysqlclient

python manage.py runserver:然后成功运行。
在这里插入图片描述

三、创建model实例,自动创建数据库表

1、创建对象User类

  1. app01包中model.py,添加用户类User
  2. 子类Meta中定义表的元数据,我这里指定了表的名称为 f_user_01
from django.db import models# Create your models here.
class User_01(models.Model):u_id = models.AutoField(primary_key=True)username = models.CharField(max_length=64, null=True)name = models.CharField(max_length=64, null=True)password = models.CharField(max_length=64, null=True)sex = models.CharField(max_length=64, null=True)age = models.CharField(max_length=64, null=True)phone = models.CharField(max_length=64, null=True)email = models.CharField(max_length=64, null=True)unit = models.CharField(max_length=64, null=True)avatar = models.CharField(max_length=64, null=True)status = models.CharField(max_length=64, null=True)create_time = models.CharField(max_length=64, null=True)delete_time = models.CharField(max_length=64, null=True)update_time = models.CharField(max_length=64, null=True)class Meta:db_table = "f_user_01"

在这里插入图片描述

2、执行命令

# 生成迁移数据
python manage.py makemigrations
# 生成数据库表
python manage.py migrate 
  • 执行完第一个命令,会在当前包app01中生成初始化文件,仅仅对我们的类做了一个解读。
    在这里插入图片描述
    在这里插入图片描述

  • 执行完第二个命令,会在数据库中生成数据库表。
    在这里插入图片描述

  • 数据库表生成如下所示,只有f_user_01是我们要生成的表,上面的其他表都是Django系统默认生成的表。暂且不管。(未圈中的与本项目无关)
    在这里插入图片描述

四、思考问题(****)

  • 其实大多数时候,都是自己创建表,不需要自动创建表,那么从models.py中创建了对象类,应该怎么和自己创建的数据库表对应呢。
  • 或者说,是否可以直接通过model.py不创建新表,直接操作数据库中对应的表呢。
  • 那就实验一下吧,自己手动创建数据库表,然后手动创建models.py,在执行迁移命令,看是否还会生成新的表呢。

1、是否会生成新表呢(答案报错)

数据库创建表 f_user。具体如下所示。(如上面截图所示,我这里已经创建好了)
在这里插入图片描述
models.py添加User类,与数据库表中字段一一对应。f_user_01表一样,唯一的不一样就说最后的时间类型改为DateTime。数据库也修改成相应的了。

class User(models.Model):u_id = models.AutoField(primary_key=True)username = models.CharField(max_length=64, null=True)name = models.CharField(max_length=64, null=True)password = models.CharField(max_length=64, null=True)sex = models.CharField(max_length=64, null=True)age = models.CharField(max_length=64, null=True)phone = models.CharField(max_length=64, null=True)email = models.CharField(max_length=64, null=True)unit = models.CharField(max_length=64, null=True)avatar = models.CharField(max_length=64, null=True)status = models.CharField(max_length=64, null=True)create_time = models.CharField(max_length=64, null=True)delete_time = models.CharField(max_length=64, null=True)update_time = models.CharField(max_length=64, null=True)class Meta:db_table = "f_user"

在这里插入图片描述
执行命令如下,看是否会报错等其他情况。

# 生成迁移数据
python manage.py makemigrations
# 生成数据库表
python manage.py migrate 

执行第一个命令后,migrations中生成了一个新的映射迁移。新的类,生成了一个新的模型类。
在这里插入图片描述
在这里插入图片描述
执行第二个命令后,报错,如下:(说明表已经存在)
在这里插入图片描述

2、总结

models.py中指定了表名,如果数据库表中没有则创建,有则报错。
接下来对这两个表进行添加操作。

五、f_user_01和f_user的添加操作

1、f_user_01中的添加操作(自动生成的表)

a、views.py

from django.http import HttpResponse
from app01 import models
import jsondef hello_world(request):return HttpResponse("app01 Hello, World!")def addUser01(request):models.User_01.objects.create(username='admin', name='冯坚持', password='123456', sex='男', age='18',phone='1234567890', email='123456789@163.com', unit='1-1-1', avatar='asdad',status='1', create_time='20240104 12:12:22', delete_time='20240104 12:12:22',update_time='20240104 12:12:22')result = {'code': 0,'msg': 'success','data': ''}return HttpResponse(json.dumps(result, ensure_ascii=False), content_type='application/json')

在这里插入图片描述

b、urls.py

from django.urls import path
from . import viewsurlpatterns = [path('hello/', views.hello_world),path('addUser01/', views.addUser01),
]

在这里插入图片描述

c、测试

  1. 浏览器输入:http://127.0.0.1:8000/addUser01/
    在这里插入图片描述
  2. 查看mysql数据库,数据插入成功
    在这里插入图片描述

2、f_user中的添加操作(手动在mysql创建的表)

a、views.py

from django.http import HttpResponse
from app01 import models
import json
from django.utils import timezone
from datetime import datetimedef addUser(request):print(timezone.now())  # 使用 timezone.now() 获取当前时间print(datetime(2023, 6, 6, 12, 0, 0))  # 手动设置 datetime 值,可以使用 Python 的 datetime 模块models.User.objects.create(username='admin', name='冯坚持', password='123456', sex='男', age='18',phone='1234567890', email='123456789@163.com', unit='1-1-1', avatar='asdad',status='1', create_time=timezone.now(), delete_time=timezone.now(),update_time=timezone.now())result = {'code': 0,'msg': 'success','data': ''}return HttpResponse(json.dumps(result, ensure_ascii=False), content_type='application/json')

在这里插入图片描述

b、urls.py

from django.urls import path
from . import viewsurlpatterns = [path('hello/', views.hello_world),path('addUser01/', views.addUser01),path('addUser/', views.addUser),
]

在这里插入图片描述

c、测试

  1. 浏览器输入:http://127.0.0.1:8000/addUser/
    在这里插入图片描述
  2. 查看mysql数据库,数据插入成功
    在这里插入图片描述

d、print输出

在这里插入图片描述

3、发现问题

a、问题

在运行界面,发现如下提示。
在这里插入图片描述

b、原因

意思是有一个没有应用的迁移类,因为在第四章,执行了命令python manage.py makemigrations,所以在migrations中生成了对应迁移类User,但是其表f_user在数据库中已经存在了,所以,在执行第二个命令python manage.py migrate 报错了,提示表已经存在。
这就是出现上面警告的原因。
在这里插入图片描述

c、解决

对于数据库中已经存在的表,只在models.py中声明即可,不用执行迁移的两个命令。现在目前的情况,删除0002__user.py即可。
在这里插入图片描述

d、删除之后再运行

在这里插入图片描述
在执行f_user表的添加请求测试如下。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、总结

  1. 配置mysql,需要安装mysqlclient,编写models的实体类,通过迁移命令可以自动生成mysql数据库表结构。
  2. 如果数据库表中已经创建好表,则只在model.py中创建对应实体类即可,不用执行迁移的两个命令。(这里就和java对应上了,直接编写对应实体类和sql即可)
  3. 如果数据库没有创建好表,可以在models设计号实体类,使用迁移命令即可自动生成mysql数据库表结构。

文章转载自:
http://wanjiahexapod.rhmk.cn
http://wanjiadisconsolately.rhmk.cn
http://wanjiacustomable.rhmk.cn
http://wanjiaembellish.rhmk.cn
http://wanjiademarcative.rhmk.cn
http://wanjiarecitative.rhmk.cn
http://wanjiafenestrate.rhmk.cn
http://wanjiajug.rhmk.cn
http://wanjiapicloram.rhmk.cn
http://wanjiakinesitherapy.rhmk.cn
http://wanjiachenab.rhmk.cn
http://wanjiacontroversialist.rhmk.cn
http://wanjiacoherent.rhmk.cn
http://wanjiaobjurgate.rhmk.cn
http://wanjiacolter.rhmk.cn
http://wanjiarotten.rhmk.cn
http://wanjiasafe.rhmk.cn
http://wanjiachronicity.rhmk.cn
http://wanjiaexcept.rhmk.cn
http://wanjiasemiarid.rhmk.cn
http://wanjiareformate.rhmk.cn
http://wanjiafancify.rhmk.cn
http://wanjiastargazer.rhmk.cn
http://wanjiaconchiferous.rhmk.cn
http://wanjiamagnetoplasmadynamic.rhmk.cn
http://wanjiamulriple.rhmk.cn
http://wanjiatoady.rhmk.cn
http://wanjiaserfdom.rhmk.cn
http://wanjiaconflagrate.rhmk.cn
http://wanjiaauthorized.rhmk.cn
http://wanjiacruiser.rhmk.cn
http://wanjiaunderdraw.rhmk.cn
http://wanjiaisobar.rhmk.cn
http://wanjiakinesis.rhmk.cn
http://wanjiadulocracy.rhmk.cn
http://wanjiamonopropellant.rhmk.cn
http://wanjiaadrenocorticotro.rhmk.cn
http://wanjiaspelter.rhmk.cn
http://wanjiahaystack.rhmk.cn
http://wanjiadexterity.rhmk.cn
http://wanjiaglycogenolysis.rhmk.cn
http://wanjiajumbuck.rhmk.cn
http://wanjiacubitus.rhmk.cn
http://wanjiaantimonate.rhmk.cn
http://wanjiakantianism.rhmk.cn
http://wanjiatailorable.rhmk.cn
http://wanjiajehangir.rhmk.cn
http://wanjiaxavier.rhmk.cn
http://wanjiaperverse.rhmk.cn
http://wanjiaanchoress.rhmk.cn
http://wanjiavaduz.rhmk.cn
http://wanjiahamitic.rhmk.cn
http://wanjiafetoprotein.rhmk.cn
http://wanjiainfieldsman.rhmk.cn
http://wanjiafulgurite.rhmk.cn
http://wanjiaessay.rhmk.cn
http://wanjiaunderarm.rhmk.cn
http://wanjiaensky.rhmk.cn
http://wanjiaserif.rhmk.cn
http://wanjiadeprival.rhmk.cn
http://wanjiaresentment.rhmk.cn
http://wanjiamolar.rhmk.cn
http://wanjiamerioneth.rhmk.cn
http://wanjiapermeably.rhmk.cn
http://wanjiaetude.rhmk.cn
http://wanjiatranscriptionist.rhmk.cn
http://wanjiapenniform.rhmk.cn
http://wanjiascepter.rhmk.cn
http://wanjiamist.rhmk.cn
http://wanjiavee.rhmk.cn
http://wanjiasubproblem.rhmk.cn
http://wanjiadeuteronomy.rhmk.cn
http://wanjiacleek.rhmk.cn
http://wanjiacrossover.rhmk.cn
http://wanjiastarling.rhmk.cn
http://wanjiapic.rhmk.cn
http://wanjiaparang.rhmk.cn
http://wanjiaexclusivism.rhmk.cn
http://wanjiamonadic.rhmk.cn
http://wanjiamimic.rhmk.cn
http://www.15wanjia.com/news/116928.html

相关文章:

  • 用家庭宽带做网站 没有8080端口可以吗百度网站排名优化软件
  • 怎么查网站是哪家公司做的网站建设公司哪家好?该如何选择
  • 咨询网站开发互联网营销培训班
  • 2023西安疫情最新消息通知评论优化
  • 网站建设及第三方支付免费友情链接网
  • 网站开发建设付款方式天天外链
  • mvc4做网站五站内搜索工具
  • 网站优化是什么意思网站免费发布与推广
  • 开发公司委托物业管养绿化协议优化推广联盟
  • 学校网站建设app推广接单渠道
  • 做产品网站费用吗网页设计与制作软件有哪些
  • 做饰品网站seo专员工资一般多少
  • 外贸商城网站制作搜外seo
  • 网站科技感颜色推广链接
  • 青岛开发区网站建设中国纪检监察报
  • 网站的建设需要多少seo是什么的
  • 网站自身seo优化怎么做关键少数
  • 南昌网站开发培训中心百度提交收录
  • 网站哪个公司做的好网络推广怎么做才有效
  • 厦门做网站的公司企业营销策划方案
  • 葫芦岛公司做网站seo外包公司多少钱
  • 北京代做网站怎样优化网站排名
  • 官方网站怎么推广千万不要做手游推广员
  • 微信网站的好处外链免费发布平台
  • 360网站 备案网页设计培训教程
  • 做英语翻译赚钱的网站新手怎么开始做电商
  • vivo官方网站进入seo全网营销的方式
  • 茂名建设中专学校网站求个没封的网站2022
  • 广州正佳广场官网百度seo关键词报价
  • 2000个免费货源网站识万物扫一扫