django 设置媒体url_Django网站搭建系列(三)——视图

news/2024/5/20 12:35:39/文章来源:https://blog.csdn.net/weixin_42200791/article/details/112437922

我们在前两期分别讲了Django项目创建:《Django网站搭建系列(一)——项目创建》和数据库设置:《Django网站搭建系列(二)——数据库设置与模型设计》,并且我们创建了博客的第一个模型:博文模型。在前两个章节里,我们已经接触过了django项目中的settings.py和models.py两个配置文件。本章我们将来看看django中另外两个基础,也是核心的配置文件:urls.py和views.py。

一、URL

我们先来看urls.py,顾名思义,该文件跟django项目的路径设置有关,位于项目中的项目同名文件夹中(即跟settings.py在同一文件夹)。我们打开url.py可以看到里面已经写了一小段默认代码:

"""django_website URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:    https://docs.djangoproject.com/en/3.0/topics/http/urls/Examples:Function views    1. Add an import:  from my_app import views    2. Add a URL to urlpatterns:  path('', views.home, name='home')Class-based views    1. Add an import:  from other_app.views import Home    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')Including another URLconf    1. Import the include() function: from django.urls import include, path    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))"""from django.contrib import adminfrom django.urls import pathurlpatterns = [    path('admin/', admin.site.urls),]

这里面已经写好的是网站的管理页面的url,path函数的意思就是当你输入你的网址+path函数中的第一个变量时(如:www.example.com/admin/),他将会执行后面的函数,在这里就是admin.site.urls,将你输入的地址指向到admin页面。这里的admin.site.urls包含了所有admin的函数。而这也是django最方便的地方之一:我们无需自己编写管理界面,框架自动生成即可。

我们可以先本地打开看一下(127.0.0.1:8000/admin/):

6c0a88de7e6beb5199e231c7406fa8bd.png

urls.py我们就先介绍到这里。我们上面说到,path函数会执行某些函数,那这些函数是怎么来的呢?答案就是views.py。

二、Views

什么是views?有什么作用?说起来其实很简单,他就像是你网站的主脑,负责通过特定的方式(你编写函数)“花式”调动静态模型中的数据,将它通过不同的方式(比如页面渲染)返回给用户。因此,urls.py, views.py和models.py三者之间的关系大概就是这个样子:

#懒得画图。。。用户请求 → 服务器在urls.py中查看用户请求网址的路径 → 找到路径对应的views.py函数后执行函数 →(可能)提取所需要的数据库数据 → 将数据以特定形式(取决于你写的函数)返回给用户

话不多说,我们就先来实战一下吧。

2.1 博客首页

我们就从博客首页开始练手,相对于其他页面而言,首页基本不需要什么复杂的功能,而且也不需要跟后台数据库打交道(Note:后面我们对django熟悉了之后可以回过头来在首页添加一些复杂的功能,如搜索,JS插件等。这一章节就先只做一个完全静态的页面),我们可以借此先熟悉一下views.py的基本逻辑。

我们打开views.py,里面是这个样子:

from django.shortcuts import render

这里的render函数我们在之后的教程中会一直用到,它的作用是将用户的请求(request)导向到指定的html页面。所以我们跟URL联系起来,逻辑就是,当用户请求某一URL时,系统在URL.py中找到对应的path,path函数执行我们指定的函数,而这个函数就是我们从views.py中引入的,该函数则将会把请求指向特定的页面。我们理解这个逻辑了以后就可以开始编写我们首页的view函数了:

#在这之前请先在templates文件夹中创建“home.html”文件。def Home(request):return render(request, 'home.html')

然后我们就可以任意设计我们的首页(home.html)了:

沈大力的博客

欢迎光临我的博客!

设计好了后,我们打开url.py,将我们首页的路径放进去:

from django.contrib import adminfrom django.urls import pathfrom myblog.views import Home                    #这里一定要引用我们的views.pyurlpatterns = [    path('admin/', admin.site.urls),    path('', Home),                              #一般首页是不需要任何后缀的,所以这里用''即可。]

这时候我们再打开127.0.0.1:8000就不是django的欢迎界面了,而是我们自己定义的界面:

760b51ad815efcb36f3368b23e625ac8.png

到这里,我们就实现了urls.py+views.py的联通了。不过正如开始所说,我们这儿并没有涉及到后台的数据库。我们已经创建好了博文模型,又该如何把模型中的数据,也就是我们写的文章“render”到前端给别人看呢?我将在下一章来详细讲解一下views.py, models.py和urls.py三者的互动,发布我们博客的第一篇博文!

原文链接:http://www.leeshen.net/articles/django3/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_749417.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行

PHPWAMP内置功能强大的IIS站点管理,可同时运行多个PHP版本,站点管理可自定义添加PHP版本支持Apache、Nginx、IIS多功能站点管理,后期我会在业余时间开发出更多实用功能,敬请关注。使用方式:点击相关设置,直…

anguler 画面布局适应屏幕大小_自适应与响应式网站建设

网站建设是对于一个新手来讲是一件繁琐累人的事情,首先你要考虑自己的网站用途是什么?如果自己做建设,你需要的知识是很多的,如C、java、php、dreamweaver、photoshop、firework等等,一个网站不单单做出来,…

一个牛X的网站——中國哲學書電子化計劃

2019独角兽企业重金招聘Python工程师标准>>> 找《大明会典》时无意间发现的: 中國哲學書電子化計劃 网址:http://ctext.org/zhs 光看目录就激动的不行。。。 转载于:https://my.oschina.net/u/2399303/blog/902643

企业新建网站,为什么在搜索引擎上找不到?

这个问题可以很明确的回答一下:新建的网站,你不一定就可以在各大搜索引擎上找到!主要的原因如下:1、你的网站未被搜索引擎收录,不是任何网站都被搜索引擎收录的。2、即便收录啦,由于你对网站标题的设置&…

jstl处理栏目与子栏目_seo技术:大部分人遗漏的栏目页优化,你是否也忽视了?...

我们在做网站优化排名的时候发现,网站关键词排名一直上不来,而且关键词库是很少的,除了我们设置好的首页TKD以外,其它栏目页就没有好好的运用,我们可以看看大部分的企业网站,他们的栏目页大部分就是一些留言…

首页面太大怎么样快速加载_SEO团队_网站如何优化至百度首页

网站怎样优化才能快速进入搜索引擎的首页呢?平时我们所说的seo优化就是指企业网站的seo优化,使得网站的关键字能够有一个比较前的排名,甚至出现在搜索引擎的首页,这样网站的点击率以及流量都上升,给网站带来更大的利益…

怎么适应多种数据库_石河子商城网站制作怎么选

石河子商城网站制作怎么选,专业的技术团队,丰富的互联网运营成功经验,卓越的创作思维,为您创作出一流的品牌互联网形象。石河子商城网站制作怎么选, 十、国家对适龄儿童注射疫苗及预防接种方面有何规定?根据…

阿根廷绝杀尼日尼亚给我们互联网建站者带来什么启示?

2019独角兽企业重金招聘Python工程师标准>>> 今天凌晨两点钟,作为世界杯球迷的我也观看了阿根廷对战尼日尼亚的足球赛事,而一开场不久,梅西就凭借着自己超凡的球技破门,这是梅西在2018年俄罗斯奥运会上第一次成功射门&…

如何做好企业网站专题页建设及营销推广优化方案成都SEO_成都辰星建站

为什么80%的码农都做不了架构师?>>> 成都SEO企业网站专题页建设及企业网站营销推广优化分析及对应处理方案,企业网站除去网站基础优化以外网站专题网页制作也是一种提升网站流量关键词排名提升的方案方法之一特别是对于产品商城网站和资讯类网站做好专题…

详细分析:当我们用浏览器访问一个网站到页面展示,背后经历了什么?

文章目录一、前提概要1、网络分层模型2、什么是IP地址?3、什么是域名?4、什么是DNS二、漫漫取经之路就在脚下1、域名解析2、建立TCP连接(三次握手)3、获取资源4、浏览器解释当我们用浏览器访问一个网站到页面显示出来,…

网站建设部署与发布--笔记2-部署Apache

网站部署(Linux) 部署Apache 操作系统:CentOS 7.21.首先连接云服务器,清楚系统垃圾。 $ yum clean all Loaded plugins: fastestmirrorCleaning repos: base epel extras updatesCleaning up everythingCleaning up list of faste…

使用github搭建自己的个人网站(装逼指南)

哈喽,你好。欢迎进来我的博客。 上一篇关于git的教程是教大家如何在github上面窗子哦及的本地项目。这次呢,和大家分享一下如何使用github创建自己的个人网站。 当然,前提还是得有github的账号,没有的话赶紧去注册一个。官网&am…

网站分享

各大网站页面上都会有分享到其他平台的功能。比如这个样子: 要是用这个分享的功能很简单。 给大家介绍一个网址:http://www.bshare.cn/ bshare是一个免费的分享平台,进入后打开 接下来按步骤走 最后将代码复制即可:

github搭建个人网站后如何设置域名

最近搭建了自己的个人网站,刚刚买了域名,设置时踩了几个坑,这里记录下。 这是我的地址:https://struggle20160730.github.io 是不是很难记,没办法,之前注册用户名的时候根本不知道还会用到,唉! 下面是我…

大型网站技术架构(一)大型网站架构演化

2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及ses…

HTML5 + CSS3 + JS 演示网站

文章来源: http://developer.51cto.com/art/201112/309731.htm 先看一些有趣的东西。这些网站利用JavaScript将Canvas,WebGL,CSS3和HTML5元素这些浏览器技术融合在了一起。通常这些技术只是用来取悦用户,或是在现代的浏览器中显示一些新的功能…

jquery仿网站客服

之前在网上看的一个效果,因为目前在外包公司了。经常要用到这个效果,所以还是保留下比较好。在线预览:http://www.bright2017.top/test1/test1-15/ 出处实在找不到了,就不留原创地址了。

js资源链接jq地址BootCDN 和一些比较好的网站收藏

1.BootCDN:https://www.bootcdn.cn/ 1.1.可以搜素需要的网络资源,非常齐全 2.这个网站将前端的一些东西做了整理,找起来比较方便 2.1 网址: https://www.bestvist.com/nav 2.2内容

网站被黑提醒该站点可能受到黑客攻击,部分页面已被非法篡改

2019独角兽企业重金招聘Python工程师标准>>> 大清早的一上班收到3个网站客户的QQ联系,说是自己公司的网站被跳转到了北京sai车,cai票,du博网站上去了,我们SINE安全公司对3个网站进行了详细的安全检测,发现这…

大型网站技术架构(八)网站的安全架构

2019独角兽企业重金招聘Python工程师标准>>> 从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击(…