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

专业外贸网站制作价格网站建设管理职责

专业外贸网站制作价格,网站建设管理职责,四川城乡和建设厅网站首页,html教程菜鸟教程w3school目录 18、Django初始化项目环境精讲1. 完成数据库迁移2. PyMySQL模块的使用3. migrate与makemigrations命令详解1) makegrations生成数据库迁移文件2) migrate执行数据库迁移命令3) 完成数据库迁移总结 18、Django初始化项目环境精讲 上一节中#xff0c;我们完成了对 settin… 目录 18、Django初始化项目环境精讲1. 完成数据库迁移2. PyMySQL模块的使用3. migrate与makemigrations命令详解1) makegrations生成数据库迁移文件2) migrate执行数据库迁移命令3) 完成数据库迁移总结 18、Django初始化项目环境精讲 上一节中我们完成了对 settings.py 文件的基本配置本节我们还需要对新建的项目进一步的操作从而完成项目的初始化工作。 在《settings.py配置文件详解》一文中我们介绍了 INSTALLED_APPS 这个安装了 Django 自带应用的列表诸如 admin 后台管理系统、auth 用户系统应用以及session 会话建立等应用它们都被安装在了这个列表中。 1. 完成数据库迁移 作为应用下面我们统称 app通常都会需要使用数据表来完成状态或数据的保存Django 自带的 app 也不例外。如果不同步这些应用的数据表到数据库中而是直接启动项目在 CMD 命令行就会打印警告信息并且告知如何解决这个警告信息方法。如图 1 所示 图1Django 警告信息以及解决方法 在图1中用红色方框标注的的就是 Django 的警告信息告诉我们安装在 INSTALLED_APPS 列表中应用如 admin、auth、session 等需要进行数据库迁移。而且它还告诉我们如何进行迁移就是使用如下命令来进行数据表的迁移 python manage.py migrate提示“迁移”就是把 Django 默认自带应用的数据表迁移到我们自己的创建的数据库里有点像搬家的意思migrate 这个单词的含义就是“迁移”。 如果你是在 Linux 或者 Mac 操做系统利用终端启动项目后提示会更加明显如下图 2 所示 图2Linux 终端运行项目 因为 Linux 系统同时安装了 python 2.7 版本和 python 3.x 的版本所以使用如下命令进行数据库的迁移。 python3 manage.py migratemigrate 是 manage.py 的子命令它主要用来将应用的数据表同步到数据库中。执行后它会检查 INSTALLED_APPS 里配置的应用列表依次为每个应用创建所需要的数据表。 我们可以根据自己的需要来决定使用哪个应用如果项目本身用不到可以将其在列表注释掉。那么migrate就不会执行它了。在执行此命令之前你的数据库应该处于开启状态而且你的 settings.py 文件已经按照《如何配置settings.py文件》一节做了相应的配置。执行命令后在 CMD 命令行得到如图3所示输出 图3完成数据库迁移 2. PyMySQL模块的使用 如果你的终端看到如图 4 所示的报错信息也不必紧张这个错误信息是由于 MySQLdb 不支持 Python 3 导致的所以 Django 连接MySQL就不能在使用 MySQLdb 了我们需要用一个驱动模块来实现 MySQL 数据库 与 Django 的连接 这时候就用到了一个 Python 的模块也就是 PyMySQL 模块。 图4数据库连接报错 PyMySQL 模块是 Python 的一个第三方模块 Python 3 与 MySQL 数据库的连接就是由它实现的。然后我们进行以下操作找到 init.py 配置文件在文件中加上如下代码 import pymysql pymysql.install_as_MySQLdb()这就表示用 PyMySql 代替 MySQLdb 来实现 Django 与 MySQL 数据库的交互。按照上述的方式配置完成后再执行迁移命令就可以顺利完成项目的初始化工作了。 3. migrate与makemigrations命令详解 通过图 3 所示我们能够得出执行完 migrate 命令后在数据库 bookstoredb 中就生成了 admin、auth、session 等应用所需要的数据表我们可以进入 MySQL 命令界面使用如下命令查看创建了哪些表。 SHOW TABLES;输出结果如下所示这就是在项目数据库中生成的表 mysql show tables; ---------------------------- | Tables_in_bookstoredb | ---------------------------- | auth_group | | auth_group_permissions | | auth_permission | | auth_user | | auth_user_groups | | auth_user_user_permissions | | django_admin_log | | django_content_type | | django_migrations | | django_session | ---------------------------- 10 rows in set (0.01 sec)这里使用一个命令就完成了数据库的迁移工作但是有两点问题值得我们思考migrate 是怎么知道要创建哪些表的而且如果这些表修改了它又怎样去维护这些表与数据库中已经迁移的表保持一致呢下面我们来解答这个疑惑。 Django 对于数据库的迁移工作通过两个命令来实现一个就是我们上面介绍的 migrate 命令另个命令如下所示 python manage.py makemigrationsmakemigrations 命令会检测应用目录下是否存在 migrations 目录如果没有则进行创建。首先会根据应用的表结构定义生成一个 0001_inital.py 文件里面定义了数据表的结构。 1) makegrations生成数据库迁移文件 当数据表更改后我们首先执行 makemigrations 命令然后 Django 会重新生成一个新的数据库迁移文件用来记录表结构之间的差异命名规则是对上一个迁移文件的序列号加1如 0002_xxx、0003_xxx。 2) migrate执行数据库迁移命令 之后再次执行 migrate 命令让新的迁移文件生效并同步回数据库从而完成表结构定义的修改。对于 Django 内置的应用数据库迁移文件已经生成好了所以直接使用 migrate 命令即可。 3) 完成数据库迁移总结 每一次数据表更改后都需要执行下面的两个命令它们的执行顺序如下所示 python manage.py makemigrations python manag.py migrate为了保证已经完成的迁移工作不会重复的执行Django 会把每一次数据库迁移记录到 django_migrations 表中每一次执行 migrate 命令前都会比较迁移文件是否已经记录在表中了只有没出现过的才会执行。若想查看当前项目的第一次 migrate 生成的迁移记录可以在 MySQL 命令行界面使用如下命令查看 select * from django_migrations;输出结果如下所示 mysql select * from django_migrations; ---------------------------------------------------------------------------------------- | id | app | name | applied | ---------------------------------------------------------------------------------------- | 1 | contenttypes | 0001_initial | 2020-03-31 17:53:24.328380 | | 2 | auth | 0001_initial | 2020-03-31 17:53:24.772333 | | 3 | admin | 0001_initial | 2020-03-31 17:53:25.304430 | | 4 | admin | 0002_logentry_remove_auto_add | 2020-03-31 17:53:25.389557 | | 5 | admin | 0003_logentry_add_action_flag_choices | 2020-03-31 17:53:25.400529 | | 6 | contenttypes | 0002_remove_content_type_name | 2020-03-31 17:53:25.483671 | | 7 | auth | 0002_alter_permission_name_max_length | 2020-03-31 17:53:25.499663 | | 8 | auth | 0003_alter_user_email_max_length | 2020-03-31 17:53:25.523571 | | 9 | auth | 0004_alter_user_username_opts | 2020-03-31 17:53:25.540536 | | 10 | auth | 0005_alter_user_last_login_null | 2020-03-31 17:53:25.584193 | | 11 | auth | 0006_require_contenttypes_0002 | 2020-03-31 17:53:25.589585 | | 12 | auth | 0007_alter_validators_add_error_messages | 2020-03-31 17:53:25.599557 | | 13 | auth | 0008_alter_user_username_max_length | 2020-03-31 17:53:25.617511 | | 14 | auth | 0009_alter_user_last_name_max_length | 2020-03-31 17:53:25.635472 | | 15 | auth | 0010_alter_group_name_max_length | 2020-03-31 17:53:25.653411 | | 16 | auth | 0011_update_proxy_permissions | 2020-03-31 17:53:25.664380 | | 17 | sessions | 0001_initial | 2020-03-31 17:53:25.688552 | ---------------------------------------------------------------------------------------- 17 rows in set (0.00 sec) 至此BookStore 项目的骨架、数据库配置和迁移都已经完成了后面需要做的就是完成应用的创建和编写能够提供一些功能给用户使用。本节详细讲解了项目初始化过程中会遇到的一些问题并对他们做了深度的剖析包括 Django 与 MySQL 数据库的连接以及数据库迁命令的解析希望这些知识对大家学习 Django 有所帮助。
http://www.dnsts.com.cn/news/216703.html

相关文章:

  • 查网站备案号玫瑰在线 网站建设内容
  • 网上销售推广方案seo快速排名上首页
  • 重庆建站服务商dede网站 远程生成
  • 网站做支付需要准备什么东西征婚网站咋做
  • 做片头片尾比较好的网站营销型网站建设公司
  • 重庆市建设工程信息网站宝丰网站制作公司
  • 做外贸网站要什么条件wordpress如何生成单页的网站地图
  • 信用网站建设意见搜索引擎营销sem包括
  • 网站 模板下载株洲网站建设服务
  • 长治网站建设招聘深圳做关键词优化平台
  • 做网站被骗该咋样做广告关键词排名
  • 招聘网站建设人员的要求商城火车站
  • 深圳专业医疗网站建设汕头发展
  • 网站地图制作软件柳州市城乡建设局网站
  • 大型网站开发 赚钱潜江网站建设
  • 最新聊天记录做图网站网站百度不到
  • 做网站用哪个ecalipse广西建设网站网址多少钱
  • 商用高端网站设计新感觉建站wordpress怎么开启下载收费功能
  • 怎么做网站论坛整站优化推广
  • 书法网站开发的前景网络需求分析的主要内容有哪些
  • win10 做网站服务器吗成都装饰网站建设
  • 公司想推广做网站有用做视频网站要注意什么
  • 上城区商城网站建设南宁seo外包服务
  • 怎么样制作网站教程网站动态交互
  • 建设音乐网站功能定位低代码建站平台
  • 中山网站制作套餐汽车行业网站设计
  • 网站导航栏下载网站运营每天做的
  • 想开一家相亲网站 怎么做南昌网站建设q479185700棒
  • 设计建设网站哪家好效果图制作属于什么经营范围
  • 百度公司网站制作泸县手机网站建设