python:Django创建应用程序中的网页

目录

简介

网页创建步骤

前情介绍

django目录:

模板应用步骤

映射URL说明

1、总项目下创建url分发到子项目

2、在learning_logs中创建另一个urls.py

编写视图

编写模板(html文件)

其他网页

模板继承

父模板(html)

子模版(html)

URL模式

视图

效果


简介

网页创建步骤

使用django创建网页:

1、定义url:每个url都被映射到特定的视图

2、编写视图:获取网页所需的数据,调用一个模板

3、编写模板:生成浏览器能够理解的网页

URL模式描写了URL是如何设计的。,让Django知道如何将浏览器请求与网站url匹配,以确定返还什么网页。

每个url都映射到特定的视图,,视图函数获取并处理网页所需的数据。

视图函数通常调用一个模板,模板生成浏览器能够理解的网页

前情介绍

django目录:

项目创建可以看:https://blog.csdn.net/weixin_42294510/article/details/117849380

开始新建存放项目的文件夹,django创建完成后就有:虚拟环境+总的配置文件learning_log

创建应用项目后就有程序文件夹learning_logs,程序文件见可能会有多个

1、项目目录:

  • learning_log: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。例如python manage.py shell命令启用一个python解释器
  • __init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • settings.py: 该 Django 项目的设置/配置。
  • urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

2、应用程序模板:

● migrations: 用于数据库的迁移

init.py: 初始化文件

admin.py: 当前App的后台管理系统

app.py: 当前App的配置信息,通常无需修改

model.py: 定义在映射类关联数据库,MTV中的Model

tests.py: 自动化测试后模块

views.py: 逻辑处理模块,MTV中的Views,接收到请求,返回网页界面

urls.py:自己创建的,用来存放对应项目的url

模板应用步骤

1、在项目应用文件夹下创建文件夹templates,用于存放模板页面,新建对应项目的模板目录learning并创建html文件

2、向Django说明模板文件的路径,修改settings.py的DIRS的值,为模板的路径:learning_logs项目下的tenplates文件夹下,DIRS值是一个数组

添加项目程序

3、发送请求,设置url:总url文件中开始,映射到子url文件

4、修改 views.py,增加一个新的视图对象,接收请求信息,当浏览器输入上配置的url时将模板内容发送给浏览器,参数1接收请求,参数2展示的页面:learning_logs下的index.html文件

映射URL说明

这个url就是根据用户在浏览器中输入或传送而来的url路径

自动创建的url

如果我们要创建自己的项目以及url,就需要在urlpatterns中添加新的参数,假如我们一个项目中有多个app(项目程序),那么所有的映射都写到同一个urls.py,或者公用一个url,难免会产生错误,产生混淆,那么我们可以在每个app下建立自己的urls.py来处理自己的映射关系,在全局urls下进行分发。

1、总项目下创建url分发到子项目

浏览器中输入‘’,即除了默认地址外不输入其他时,就链接到子项目learning_logs的urls中include(子项目.urls文件,子项目名,namespace=子项目名)

2、在learning_logs中创建另一个urls.py

url=默认链接+index时,就打开views视图里的index函数

编写视图

视图文件views.py接收到请求request,就返回learning_logs文件夹下的index.html页面内容,第二个参数对应setting文件中的DIRS值,即learning_logs/templates/learning_logs/index.html

编写模板(html文件)

其他网页

这里以创建2个网页为例,一个列出所有主题,一个显示特定主题的所有条目。对于每个单独的网页都需要做上面的3个步骤,即:指定url模式,编写视图函数,编写模板。

模板继承

父模板(html)

项目中所有的模板都继承这个界面属性,即所有页面都包含的一些元素,这样不用重复去定义它。

父模板:两个网页(index、topics)的链接

子模版(html)

1、index:继承base

2、topics:继承base

URL模式

在urls文件中添加链接到index页面+链接到topics页面的链接

视图

为两个网页创建视图

效果

显示特定主题的网页

1、跳转页与被跳转页链接

在topics页面中开始跳转,将所有topics变成链接,点击连接到topic页面,并获取topic.id到链接中,链接变为原链接+topic.id

2、URL

上面链接变为原链接+topic.id,获取链接,匹配链接最后值是否为topics/topic.id,(?P<topic_id>\d+)将topic.id捕获到topic_id中,调用views的topic函数,并传入实参topic_id

3、view

Topic.objects.get(),使用topic_id获取Topic(主题名)存于topic中,使用topic获取entry_set(条目)将排好序的条目存于entries中,context存储topic和entries内容

4、新的模板

1、继承父模板

2、显示传回的Topic值

3、显示添加时间

4、显示具体内容

5、效果

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值