Photo from Unsplash 前段时间,有个读者留言跟我说,有空出使用 Python 实现 RESTful API 的教程。我一看,这正合我意。自己很早就想学习 Python web。...自己在 Web 方面是只菜鸟,所以请老鸟轻喷。 回到刚才话题,RESTful API 是个什么东西呢?不妨我们先看下平常的网页是怎么回事。我们平时浏览的网站,一般分为前端和后端。...我们用浏览器观看页面的内容就是前端的工作。前端采用 Html + CSS + JavaScript 技术来呈现页面内容以及页面效果。后端主要负责维护数据库并返回前端请求数据库的数据。...Python Web 主流框架有 Flask、Django、Tornado等 Flask Flask 是一个使用 Python 编写的轻量级 Web 应用框架。...Tornado 除了提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展。 所以,综合以上几点,我就决定深入学习 Django。朋友们,敬请期待我的分享吧。
,Django,对比了众多 web 框架,我喜欢 Django 的 MVC 设计风格,于是跟着追梦人物的博客(链接见文末),学习了 Django,并通过简单的 web 页面实现自己工作中需要的功能。...每一个技术工具,都有值得深入研究的东西,我仅仅学习如何使用这些轮子,仅仅是使用,就已经让我大开眼界。当然学习不是一下子就学会的,而是通过很多 demo,代码,和实践练习中不断理解由浅入深。...,浪费了太多的时间,假如时间能重来,我会系统地学习一遍 html,javascript,css,尤其是 css,为了弄好网页的布局,花费的时间比甚至比实现一个完整的页面还多,这都是因为基础知识太弱导致,...这里主要说下 vue,django,django-rest-framework。 1、前后端分离后在生产环境部署时静态资源无法访问。...3、其他的都是小坑了,在 stackoverflow 基本上都可以找到答案,最好使用英文关键字检索。
1、Django 为了在更短的时间内创建复杂、高质量的 web 应用,很多 web 开发人员会首选 Django 框架。...你可能还会问:我应该选择 Django 还是 Flask?答案是,这取决于 Web 开发人员的技能水平。如果很有经验,请考虑使用更多的“准系统”来开发程序。...如果是前者请使用 Django;如果是后者,请选择 Flask。归根结底,他们俩都可以实现相同的功能,更重要的是开始编码,而不是为哪种框架更好而烦恼。...Zappa 是一个功能强大的库,用于在AWS Lambda 上开发无服务器应用程序。 Requests 库可可以轻松发送 HTTP 请求,用于与应用程序进行通信,获取 HTML 页面数据。...步骤 3:后端技能学习 首先是服务器相关的协议,诸如 WSGI,ASGI 协议的了解,其次前面提到的Python 相关的 Web 框架,还包括一些 API 框架,如:Django REST Framework
一、文章的储存 前面我们把博客页面的设计给出来了,但是现在的页面只有框架,我们还需要一些内容来填充这个框架。 这些内容就是我们写的博客文章了,我们只需要用文章的内容来填充页面对应的部分即可。...所以我们需要先把文章保存到数据库里,当浏览器请求页面时,服务器再从数据库里获得对应文章的内容,然后拿着这些内容去渲染页面,最后将渲染好的页面返回给浏览器。...): list_display = ('title', 'date', 'content', 'tags') 使用 list_display属性可以在 django的管理页面里更方便地查看表格内容...但是我们的表格里什么都没有,先添加几条测试用的博客 ? 二、页面渲染,将数据库里的文章通过网页呈现 现在我们数据库里已经有文章了,接下来就是如何把数据库里的数据呈现到前端。...这样一个简陋的博客就搭建好了,虽然界面有点简陋,但是基本的功能都完成了。 不过有一点美中不足的是,日期的显示并不是我想要的格式。
引用官方一句话:Django REST框架是用于构建Web API的功能强大且灵活的工具包。 那为什么要使用Rest Framework? ...Django REST Framework可以在Django的基础上迅速实现API,并且自身还带有WEB的测试页面,可以方便的测试自己的API。 ...这个可以看我之前写的DJango博客就可以知道,每次返回时都是使用render 或者redirect来返回的,需要带上HTML页面和参数 2....,可以参考我前面写的虚拟环境使用的文章。...细心的人可以发现,为啥status是红色的叉,是因为序列化的时候没有将状态字段显示,现在我将它放出来: 再运行程序,添加用户后查看: 进入后端管理页面查看: 是不是就开启了,如果不放心的同学,
1 MVC 与 MTV 在 Web 服务器开发领域,MVC 模式可以算是家喻户晓。有些书籍或者文章说 Django 是一个 MVC 开发框架,另一些文章或者博客则说 Django 是 MTV 模式。...在 Django 项目中,templates 文件夹中各个模版文件代表视图(View),负责数据内容的显示。templates 文件夹中文件其实就是 HTML、CSS、Javascript 文件。...图片来源于网络 图中显示 Django 程度接受到一个 HTTP 请求到返回请求内容的过程。各个路径的含义如下: 1)用户使用浏览器浏览网页,浏览器向 Web 服务器发起 HTTP 请求。...URLconf 可以理解为 URL 以及该 URL所调用的视图函数之间的映射表,通常是记录到 urls.py 中。 5)被选择的视图(Views.py 中的类)会根据页面的需求执行一些操作。...例如通过模型(Model)与数据库进行通信;使用模板渲染 HTML或者任何格式化过的响应;访问页面出错,抛出一个异常等。在处理过程中,视图处理的对象主要是 HttpResponse。
添加rest_framework应用 我们利用在Django框架学习中创建的demo工程,在settings.py的INSTALLED_APPS中添加'rest_framework'。 ?...1)点击链接127.0.0.1:8000/books/ 可以访问获取所有数据的接口,呈现如下页面: ? ? 2)在页面底下表单部分填写图书信息,可以访问添加新图书的接口,保存新书: ?...点击POST后,返回如下页面信息: ? 3)在浏览器中输入网址127.0.0.1:8000/books/1/,可以访问获取单一图书信息的接口(id为1的图书),呈现如下页面: ?...4)在页面底部表单中填写图书信息,可以访问修改图书的接口: ? 点击PUT,返回如下页面信息: ? 5)点击DELETE按钮,可以访问删除图书的接口: ? 返回,如下页面: ?...至此,是不是发现Django REST framework很好用!
:单页面应用程序、异步组件、服务器端呈现等。...全栈 / 认证应用程序 Vue应用通常是数据驱动型的用户界面,数据通常是由Node、Laravel、Rails、 Django 或其他服务器框架编写的安全API作为来源。...在服务端渲染中,Vue程序将在服务端执行,在用户访问时,将渲染完成的HTML呈现给用户,从而达到提升访问速度的目的。 当然,还包括其他优化技术,例如:异步组件和渲染功能。...Nuxt.js 如果你想要构建一个高性能的Vue应用程序,同时还要基于路由、服务端呈现、代码分离和其他前沿特性,同时还需要一些更高级的功能,例如:SEO标记等。您可以使用Nuxt.js框架。...为了启用一个动画,您可以创建CSS类来定义所需的动画效果,无论是淡入淡出、更改颜色还是任何其他效果。Vue将检测当添加元素和删除元素时,添加或删除您设置相应的类。
将变量放在页面模板中时,例如带有HTML或JavaScript的字符串,除非明确将变量实例指定为安全,否则不会按字面意义呈现内容。这本身就减少了许多常见的跨站脚本问题。...它配备了自己的内置miniserver以进行快速测试,但可以支持各种兼容WSGI的HTTP服务器,并在需要时可以回退到普通的旧CGI。 Bottle不需要像其他框架那样多的文档,但文档绝不是吝啬。...这个框架的前提是,除了只包含为web页面提供服务所需的少量内容外,它应该尽可能地让人感觉它不像“web框架”,而是像任何其他类型的Python应用程序一样。...这些文档提供了有关各种场景中部署的方便说明,包括虚拟主机,通过Apache和Nginx的反向代理以及许多其他方案。 CherryPy在引擎下使用池化线程,更好地支持多线程服务器适配器。...我在Python 3.51中使用easy_install时遇到了问题,但它在Python 2.7中运行良好。
如果您是Vue开发的新手,您可能已经听过很多关于它的专业术语了,例如:单页面应用程序、异步组件、服务器端呈现等。...全栈 / 认证应用程序 Vue应用通常是数据驱动型的用户界面,数据通常是由Node、Laravel、Rails、Django 或其他服务器框架编写的安全API作为来源。...在服务端渲染中,Vue程序将在服务端执行,在用户访问时,将渲染完成的HTML呈现给用户,从而达到提升访问速度的目的。 当然,还包括其他优化技术,例如:异步组件和渲染功能。...Nuxt.js 如果你想要构建一个高性能的Vue应用程序,同时还要基于路由、服务端呈现、代码分离和其他前沿特性,同时还需要一些更高级的功能,例如:SEO标记等。您可以使用Nuxt.js框架。...为了启用一个动画,您可以创建CSS类来定义所需的动画效果,无论是淡入淡出、更改颜色还是任何其他效果。Vue将检测当添加元素和删除元素时,添加或删除您设置相应的类。
转载请注明出处:葡萄城官网 如果您是Vue开发的新手,您可能已经听过很多关于它的专业术语了,例如:单页面应用程序、异步组件、服务器端呈现等。...全栈 / 认证应用程序 Vue应用通常是数据驱动型的用户界面,数据通常是由Node、Laravel、Rails、Django 或其他服务器框架编写的安全API作为来源。...在服务端渲染中,Vue程序将在服务端执行,在用户访问时,将渲染完成的HTML呈现给用户,从而达到提升访问速度的目的。 当然,还包括其他优化技术,例如:异步组件和渲染功能。 3....Nuxt.js 如果你想要构建一个高性能的Vue应用程序,同时还要基于路由、服务端呈现、代码分离和其他前沿特性,同时还需要一些更高级的功能,例如:SEO标记等。您可以使用Nuxt.js框架。...为了启用一个动画,您可以创建CSS类来定义所需的动画效果,无论是淡入淡出、更改颜色还是任何其他效果。Vue将检测当添加元素和删除元素时,添加或删除您设置相应的类。
前后端半离不离 AJAX 的出现,让网页局部刷新成为可能。这一特性可以让用户留在当前页面中,同时发出新的HTTP请求,数据却可以不断地更新。解决了服务器每次请求都返回整个网页这种低效的机制。...,在后续的请求中,只要服务器端返回 html 页面,就不是前后端分离,只要服务器返回的是纯数据,就是前后端分离,跟所用的语言,框架,没有任何关系。...2.局部性能提升 通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。...前后端分离的好处是:彼此的分工非常明确,专注于自己最擅长的事情。 你可能会问了,我就一个人,在 web 开发时,是否也搞前后端分离?...另外,学会前端可以自己建站获取流量,帮别人建站获取报酬,收获都是非常大的。 因此,我建议后端工程师学点前端知识,不求精通,至少可以使用前端技术栈为自己服务。
介绍 人们使用不同类型的设备连接到互联网并浏览网页。因此,需要从各种位置访问应用程序。对于传统网站,具有响应式UI通常就足够了,但更复杂的应用程序通常需要使用其他技术和体系结构。...构建更复杂的应用程序时可以使用的一些工具包括: React,一个JavaScript框架,允许开发人员为他们的REST API后端构建Web和本地前端。...您将使用React作为UI库,而不是构建使用内置模板引擎的Django应用程序,利用其虚拟文档对象模型(DOM),声明性方法和快速呈现数据更改的组件。...先决条件 要完成本教程,您需要: 使用Ubuntu 18.04的开发机器。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...您使用Django REST框架构建REST API,使用Axios来使用API,使用Bootstrap 4来构建CSS样式。您可以在此GitHub存储库中找到此项目的源代码。
Play经常与其他编程语言的强大web框架相比较,比如Ruby的Ruby on Rails框架,Python的Django框架。...默认情况下,它在嵌入框架的Jetty web服务器上运行。但是,您也可以在其他Java web服务器上使用它。...Struts还允许您使用不同的客户端技术来构建应用程序的前端,例如javascript页面或具有角度的HTML。 但是,如果您希望创建可以在前端呈现的服务器端组件,那么Struts可能不是最好的选择。...与Struts一样,Tapestry也是Apache软件基金会的一个项目。 可以将Tapestry页面和组件编写为普通的旧Java对象(pojo)。因此,您可以从框架访问整个Java生态系统。...Vaadin流为您提供了一个高级Java API来管理应用程序的所有技术方面,从通过WebSockets进行的服务器-客户端自动通信到数据绑定。随着流在JVM上运行,您可以访问整个Java生态系统。
前面已经建立一个网页投票应用并且测试通过,现在主要讲述如何添加样式表和图片。 除由服务器生成的HTML文件外,网页应用一般还需要提供其它必要的文件——比如图片、JavaScript脚本和CSS样式表。...这样才能为用户呈现出一个完整的网站。 在Django中,这些文件统称为“静态文件”。 如果是在小型项目中,这只是个小问题,因为你可以将它们放在网页服务器可以访问到的地方。...所以我们需要告诉Django该使用其中的哪一个,最简单的方法就是为它们添加命名空间。也就是将这些静态文件放进以它们所在的应用的名字命名的子目录下。...有关框架中包含的设置和其他更多详细信息,参见静态文件howto 和静态文件参考。部署静态文件讲述如何在真实的服务器上使用静态文件。...当您对静态文件掌握的差不多了时,请阅读本教程的第7部分,了解如何自定义Django自动生成的管理站点。
model,负责与数据库交互 v表示view,是核心,负责接收请求、获取数据、返回结果 t表示template,负责呈现内容到浏览器 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能...models.py 与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。...备注:对已有的 models 进行修改,Django 1.7之前的版本的Django都是无法自动更改表结构的,不过有第三方工具 south 使用开发服务器 开发服务器,即开发时使用,一般修改代码后会自动重启...中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) 2.定义视图函数(即访问页面时显示的内容...第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.
每次浏览器访问同一台服务器时,它都会将数据发回,以跟踪它访问服务器的方式(和频率)。...你可以将框架视为你可以在一个中心位置访问的解决方案、工具和组件的集合,而不是每次都单独查找它们 25.Git Git 是一个版本控制系统,开发人员可以在其中存储和管理他们的代码。...与其在构建网站时考虑到桌面,然后考虑它在移动设备上的外观,采用移动优先的方法,而是首先为小屏幕构建网站。...49.Semantic HTML(语义 HTML) 语义 HTML 是使用 HTML 标记来加强网页和 Web 应用程序中信息的语义或意义,而不仅仅是定义其呈现或外观 50.Server(服务器) 运行软件的计算机...,允许用户访问你的网站并提供托管服务 51.SSR 服务器端渲染(Server-side rendering)是应用程序将服务器上的HTML文件转换为客户端完全呈现的HTML页面的能力。
www.baidu.com 放行,就可以发现网页被重定向到了百度 (这里因为浏览器的设置等原因,无法呈现百度页面,但是看url,确实是百度的地址) low级别是直接修改为想要跳转的...,攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面。...也就是说,在按钮处动手脚,看着似乎是实现用户目的的按钮,点进去后实际上会实现其他目的(比如为某个网站增加点击率等等) iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。...如下,其实我放置的是这一串代码 但在没有将其设置为代码块时...跨域策略文件的配置方法 一个服务器想要访问其他域的服务器时就要跨域,若想要访问成功,被访问服务器要设置允许访问权限,这个权限设置就是跨域策略文件(crossdomain.xml)的存在意义 了 allow-access-from
filename - 定义文档/资源的名称 二、域名解析(DNS) 在浏览器输入网址后,首先要经过域名解析,因为浏览器并不能直接通过域名找到对应的服务器,而是要通过 IP 地址。...用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP 地址访问。因为与 IP 地址的一组纯数字相比,用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。...服务器 服务器是网络环境中的高性能计算机,它侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务,比如网页服务、文件下载服务、邮件服务、视频服务。...2.根据 CSS 解析生成 CSS 规则树 解析 CSS 规则树时 js 执行将暂停,直至 CSS 规则树就绪。 浏览器在 CSS 规则树生成之前不会进行渲染。...5.根据计算好的信息绘制页面 绘制阶段,系统会遍历呈现树,并调用呈现器的“paint”方法,将呈现器的内容显示在屏幕上。
我的博客是如何工作的? HTTP服务器 当你开发在网页上访问我的博客的时候,你可能会注意到上面的协议是HTTPS。 但是并不会察觉到它是HTTP2.0。...而这需要一个可以支持HTTP2.0的HTTP服务器,在不改变现在程序配置的情况下,你需要重新编译你的HTTP服务器。在这里,我的博客用的是Nginx,所以它在还只是试验版的时候,就已经被编译进去了。...WSGI 接着,我们就来到了Web服务器网关接口——是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。现在,你或许已经知道了这个博客是基于Python语言的框架。...但是在我们揭晓这个答案之前,我们还需要介绍个小工具——New Relic。如果你在Chrome浏览器上使用Ghosty插件,你就会看到下面的东西。...而且我博客流量的主要来源是Google和百度。 然后,我试着用Angular去写一些比较特殊的页面,如全部文章。但是重写的过程并不是很顺畅,这意味着我需要重新考虑页面的渲染方式。
领取专属 10元无门槛券
手把手带您无忧上云