Django学习笔记(一)——Web应用程序
近日跟着《Python编程–从入门到实践》第二版的项目三,练习了一个Web应用程序,于是把这个项目的流程和心得体会写下来,一是自我梳理,二是希望能够与大家分享交流。
以下是我根据这个项目所画的流程图:
下面我会根据这个流程图来梳理Web应用程序的建立过程
一、建立虚拟环境&安装Django
建立虚拟环境的意义在于避免项目间Django版本不兼容,打个例子,比如你从前同事接手一个项目,使用的是Django2的版本,那么如果你主机上Django版本是3,运行这个项目可能会出现一些问题;或者说你手里有好几个项目要同时运行,但是由于运行这些项目的Django版本都不同,因此就需要建立虚拟环境分隔开不同的项目来运行各自的Django版本。建立虚拟环境
新建一个名为learning_log的目录,然后在终端中切换到这个目录,执行以下命令:python -m venv ll_env
建立完成后,需要激活虚拟环境,windows系统和Linux系统中的命令不一样,这里详细的内容还请大家根据书中的内容完成。
安装Django
激活虚拟环境后,执行以下命令安装Django:pip install django
安装本书的Django版本,请使用
pip install django==2.2.*
我完成该项目使用的是Django3版本,没有出现错误。
注意:Django仅在虚拟环境ll_env处于活动状态时才可用
二、创建项目
执行以下语句,创建一个名为learning_log的项目django-admin startproject learning_log .
该目录下包含4个文件,
__init__.py
settings.py :指定Django如何与系统交互以及如何管理项目
urls.py :告诉Django应创建哪些页面来响应浏览器请求
wsgi.py :帮助Django提供它创建的文件
三、创建数据库
我们将修改数据库称为迁移(migrate)数据库。首次执行命令migrate时,将让Django确保数据库与项目的当前状态匹配。该命令如下:python manage.py migrate
这里创建了一个文件db.sqlite3,SQLite是一种使用单个文件的数据库,因此在这个项目中我们不用太关注数据库的管理问题。
现在就可以执行python manage.py runserver
来查看我们是否成功的创建了这个项目。
四、创建应用程序
建立一个名为learning_logs的应用程序,命令如下:python manage.py startapp learning_logs
在这个文件夹里面有三个文件最重要:
models.py :在这里创建自己的模型
admin.py:在这里注册模型
views.py:在这里编写视图函数
我们打开models.py文件,创建了名为Topic的模型(具体代码均省略,请查看书中相应部分),为了使用这个模型,我们必须把包含这个模型的APP learning_logs添加到settings.py中的列表INSTALLED_APPS中。(注意:务必将自己创建的应用程序放在默认应用程序前面)
每次修改完models.py后,都必须在终端执行以下两条命令对数据库修改迁移:
python manage.py makemigrations learning_logs
python manage.py migrate
五、创建超级用户管理网站
终端执行以下命令:python manage.py createsuperuser
六、模型定义&注册
由于我们之前建立了名为 Topic的模型,所以我们接下来要在admin.py中进行手动注册。七、创建页面
使用Django创建页面的过程分为三个阶段:定义URL、编写视图和编写模板。三者之间的完成顺序无关紧要,但本项目中是按照以上先后顺序来进行的。之后每个页面都是分这三个步骤进行的,该项目页面具体内容请根据书中指导进行。什么是URL?
以下资料来源:HTML5与CSS3基础教程(第8版)Elizabeth Castro , Bruce Hyslop (作者) 望以文 (译者)URL(Uniform Resource Locator,统一资源定位符)是地址的别名。它包含关于文件存储位置和浏览器应如何处理它的信息。互联网上的每个文件都有唯一的URL。 URL的第一个部分称为模式(scheme)。模式告诉浏览器如何处理需要打开的文件。最常见的模式是HTTP(Hypertext Transfer Protocol,超文本传输协议)。根据你上网的经验,你应该可以猜到,HTTP是用于访问网页的(参见图1.7.1)。HTTPS是从HTTP衍生来的,用于电子商务网站等安全网页。它的格式同HTTP一样,只是用https替代了http。
URL的第二个部分是文件所在的主机的名称,紧接着是路径,路径包含到达这个文件的文件夹以及文件自身的名称(这些都是可选的)。如果A中的路径是tofu/soft/index.html,就表示index.html位于soft目录,而soft目录则位于tofu目录,就像你在自己的电脑上组织文件和文件夹那样。 有时,URL路径不以文件名结尾,而以一个目录结尾(可以包含一个结尾的斜杠,也可以不包含),如图1.7.2所示。在这种情况下,URL指的是路径中最后一个目录中的默认文件,通常为index.html。(通常情况下,所有Web服务器的配置都将index.html作为默认文件名,因此你不必修改任何服务器配置。)
八、设置样式
这部分就是用来美化页面的,需要一些有关HTML的知识。九、部署服务器
由于书上部署服务器的网站被墙,等以后有机会再来补...
以上就是该项目的大致流程,如果有什么错误,还请大佬指出,也欢迎大家在评论区讨论。