Python的web框架之Django入门(二)
什么是Django
Django是一个高级Python
Web框架,它能够帮助开发人员快速进行web开发。由经验丰富的开发人员构建,它需要处理Web开发的许多麻烦,所以您可以专注于编写应用程序,而无需重新发明轮子。它是免费的,开源的。——来自google翻译
Django的官方文档:https://docs.djangoproject.com/en/2.0/
文章介绍及回顾
通过编写一个名为“学习笔记”Web应用程序来学习Django框架
文章参考《Python编程:从入门到实践》,记录自己在学习Python道路上遇到的坑
我的环境:
Windows 10操作系统
Python 3.6.4
上一章节主要用到了以下命令:
“pip install --user virtualenv”——安装virtualenv
“python -m venv ll_env”——创建虚拟环境
“ll_env\Scripts\activate”——**虚拟环境
“django-admin.py startproject learning_log .”——创建项目
“python manage.py migrate”——创建数据库
“python manage.py runserver”——运行服务器
这一章节将介绍如何创建一个应用程序并使用Django管理网站
创建应用程序
创建应用程序
先使用cmd切换到我们上一章节创建好的目录,即“D:\学习测试\Python学习\Django入门”
使用命令“ll_env\Scripts\activate”,**虚拟环境并在虚拟环境下执行命令“python manage.py startapp learning_logs”创建一个“learning_logs”应用程序(注意我们之前创建的项目叫做learning_log,现在我们创建的应用程序在它的同级目录,并且多了个“s”)
定义模型
打开我们刚才创建的应用程序“learning_logs”文件夹下的“models.py”(即“D:\学习测试\Python学习\Django入门\learning_logs”目录下),并将其中的内容修改为下图所示:
上图中创建了一个Topic类,属性CharField——代表字符或文本,max_length——代表最大长度
属性DateTimeField——代表日期和时间,参数auto_now_add=True使得每当用户创建新主题时,都让Django将这个属性自动设置成当前日期和时间
Django调用方法__str__()来显示模型,它返回储存在属性text中的字符串(注意,如果时Python 2.7,应调用__unicode__())
**模型
要使用模型,必须让Django将应用程序(就是我们创建的“learning_logs”)包含到项目(我们创建的“learning_log”)中
我们打开“D:\学习测试\Python学习\Django入门\learning_log”下的“setting.py”文件,在“INSTALLED_APPS”元组中添加我们的应用程序,如下图:
上图中‘learning_logs.apps.LearningLogsConfig’可以理解为“learning_logs”应用程序下的“apps.py”文件中的“LearningLogsConfig”类
在修改完“setting.py”后,我们需要让Django修改数据库使其能够存储与模型Topic相关的信息,输入命令“python manage.py makemigrations learning_logs”让Django确定如何修改数据库,如下图:
上面我们告诉了Django我们要如何修改数据库了并且能存储与我们定义的新模型相关联的数据了,而且上图中的输入表明Django创建了一个名为“0001_initial.py”的迁移文件
接下来我们使用命令“python manage.py migreate”应用这种迁移,让Django替我们修改数据库,至此数据库模型**完毕
Django管理网站
创建超级用户
输入命令“python manage.py createsuperuser”,提示输入用户名密码
向管理网站注册模型
编辑“D:\学习测试\Python学习\Django入门\learning_logs”路径下的“admin.py”文件,修改为下图所示:
向网站注册完模型Topic后,使用刚才我们创建的管理员账户访问管理网站“http://localhost:8000/admin”,(注意,一定要确认开启了你的服务器)如下图:
定义模型Entry
打开“D:\学习测试\Python学习\Django入门\learning_logs”下的“models.py”文件,将内容修改为下图所示:
上图中我们在models.py中增加了Entry类,其中topic属性的ForeignKey外键,需要加上on_delete参数否则迁移模型时报错
迁移模型Entry
“python manage.py makemigrations learning_logs”
“python manage.py migrate” 迁移数据库并查看输出
向管理网站注册Entry
打开“D:\学习测试\Python学习\Django入门\learning_logs”下的“admin.py”,修改其内容如下图所示:
查看管理网站
结语
今天介绍了如何创建一个应用程序,介绍了如何定义、**、迁移模型,以及如何使用Django管理网站、向管理网站注册模型等
下一篇文章将介绍如何创建网页,编写视图、模板和URL映射
好了,今天就到这里吧。。。再顺便,
下一篇文章将介绍如何创建网页,编写视图、模板和URL映射
好了,今天就到这里吧。。。再顺便,
还是打个广告(不会被关小黑屋把(⓿_⓿)====》应该不会,发过两次了,额。。)
这是一个全国高校交友的微信公众号,我们来做这个社交试验站的目的
不仅仅是为了能够让你认识到更多的朋友,更多的是想用文字或者其他的东西来温暖你
我们会定期举行各种线上线下活动,如一周cp、心愿实现站、解忧杂货铺等
你也可以关注公众号扫码进群与全国各地的小伙伴进行互动交流
这是一个全国高校交友的微信公众号,我们来做这个社交试验站的目的
不仅仅是为了能够让你认识到更多的朋友,更多的是想用文字或者其他的东西来温暖你
我们会定期举行各种线上线下活动,如一周cp、心愿实现站、解忧杂货铺等
你也可以关注公众号扫码进群与全国各地的小伙伴进行互动交流