首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

教你玩转Vue和Django的前后端分离

前后端半离不离 AJAX 的出现,网页局部刷新成为可能。这一特性可以用户留在当前页面,同时发出新的HTTP请求,数据却可以不断地更新。解决了服务器每次请求都返回整个网页这种低效的机制。...post'); axios.post('api/users/',this.formInline).then(res => {//get()的参数要与mock.js文件的Mock.mock...浏览器一旦发现 AJAX 请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。 因此,实现 CORS 通信的关键是服务器。...实际开发,我们在请求后端接口时的 url 一般不会填写 ip 地址和端口,而是 'api/xxx' 这种形式,这里是为了展示如何在开发环境进行前后端联调而写成此种形式。...但我不喜欢这种必须开启跨域的方式,感觉就不安全。 另外一种是将 dist 目录的资源由 django 驱动,这样就不涉及跨域的问题,但需要在打包时稍做调整。

2.7K22

面试官:POST 比 GET 安全吗?你理解就是错的

GET请求在URL传送的参数是有长度限制的,而POST么有。 7. 对参数的数据类型,GET接受ASCII字符,而POST没有限制。 8....HTTP是基于TCP/IP的关于数据如何在万维网如何通信的协议。 HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。...并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。...觉得POST数据比GET数据安全的人会说 “防君子不防小人;中国小白多,能防小白用户就行了。”...我只是不喜欢模棱两可,不喜欢边界不清、概念不明,不喜欢“拿来主义”,也不喜欢被其它喜欢钻牛角尖的人奚落得无地自容。 “知之为知之,不知为不知,是知也。”

2.4K41
您找到你想要的搜索结果了吗?
是的
没有找到

FastAPI 之自动化测试数据库接口

最近越来越喜欢使用 FastAPI 来写后端服务了,因为它是 Python 领域性能最好的 Web 框架,它专注于提供高性能的 Web API,其他方面并不限制你的手脚,可以随意使用你喜欢的三方库,这点类似于...scope='class' 类级别的 fixture 每个测试类运行一次,不管测试类中有多少个类方法都可以共享这个 fixture scope='module' 模块级别的 fixture 每个模块运行一次...,不管模块里有多少个测试函数,类方法或其他 fixture 都可以共享这个fixture scope='session' 会话级别的 fixture 每次会话运行一次。...一次 pytest 会话的所有测试函数、方法都可以共享这个 fixture 比如说数据库回滚的,我们就可以写一个这样的 fixture: @pytest.fixture(scope="function...代码的数据库配置为 mysql,用户名、密码、数据库名请自行修改后执行。

1.2K20

基于django的视频点播网站开发-step5-详情页功能

这些字段目前是不够用的,我们再加几个字段,需要加观察次数、喜欢用户、收藏的用户。...数据类型是IntegerField,默认是0 liked 喜欢用户。数据类型是ManyToManyField,这是一种多对多的关系,表示一个视频可以被多个用户喜欢,一个用户也可以喜欢多个视频。...怎么显示详情呢,聪明的django为我们提供了DetailView。urls.py设置的视图类是VideoDetailView,我们VideoDetailView继承DetailView即可。...views.collect, name='collect'), 由于喜欢和收藏的功能实现非常类似,限于篇幅,我们实现喜欢功能。...,如果登录了则调用switch_like(user)来实现喜欢不喜欢功能,最后返回json。

2.1K30

​第 07 篇:创作后台开启,请开始你的表演!

它所言,我们确实还没有发布任何文章,本节我们将使用 django 自带的 admin 后台来发布我们的博客文章。...在支持 Markdown 语法部分中将介绍如何在文章插入图片的方法。...•在 admin 后台的 post 列表页面,我们看到了文章的标题,但是我们希望它显示更加详细的信息,例如作者、发布时间、修改时间等。•新增文章时,所有数据都要自己手动填写。...接下来是应用下注册的 model 显示为中文,既然应用是在 apps.py 配置,那么和 model 有关的配置应该去找相对应的 model 。...django admin 已经自动帮我们生成了),而如果用户登录了我们的站点,那么 django 就会将这个用户实例绑定到 request.user 属性上,我们可以通过 request.user 取到当前请求用户

1.1K20

Django搭建blog网站(一)

同样我们需要对 Django 做一些必要的配置,才能让 Django 知道如何在开发服务器引入这些 CSS 和 JavaScript 文件,这样才能让博客页面的 CSS 样式生效。...6.3修改模板  目前我们看到的只是模板预先填充的一些数据,我们得它显示从数据库获取的文章数据。...因此我们循环遍历 post_list ,每一次遍历的结果都保存在 post变量里。所以我们使用模板变量来显示 post 的属性值。...比如当用户访问 post/255/ 时(注意 Django 并不关心域名,而关心去掉域名后的相对 URL),被括起来的部分 (?...在 index 页面博客文章列表的标题和继续阅读按钮写上超链接跳转的链接,即文章 post 对应的详情页的 URL,用户点击后可以跳转到 detail 页面: <article class="<em>post</em>

5.6K91

Django Admin 后台发布文章

它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带的 Admin 后台来发布我们的博客文章。...我们在 Django 完成翻译:迁移数据库 已经创建了一个后台账户,但如果你没有按照前面的步骤创建账户的话,可以运行 python manage.py createsuperuser 命令新建一个...from django.contrib import admin from .models import Post, Category, Tag admin.site.register(Post)...在支持 Markdown 语法部分中将介绍如何在文章插入图片的方法。...访问 http://127.0.0.1:8000/ 首页,你就可以看到你添加的文章列表了,下面是我所在环境的效果图: image.png 定制 Admin 后台 在 admin post 列表页面,我们看到了文章的标题

2K60

用 Vue 和 Django 快速搭建前后端分离项目

再搭建后端 这里以 DRF(Django REST Framework) 为例。如果对 DRF 还是第一次接触,建议先按官方的教程[2]走一遍。...python manage.py runserver 我们在浏览器输入 http://127.0.0.1:8000/admin 然后输入管理员用户名和密码,再新增 3 个用户,可以随便填写,目的是为了多几条测试数据...浏览器一旦发现 AJAX 请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。 因此,实现 CORS 通信的关键是服务器。...这里,我们填写用户名和邮箱,提交 post 请求后,users 表会新增一条记录,通过 get 请求也可以查询出来,大家可以动手试一试。...实际开发,我们在请求后端接口时的 url 一般不会填写 ip 地址和端口,而是 'api/xxx' 这种形式,这里是为了展示如何在开发环境进行前后端联调而写成此种形式。

3.9K20

停止使用非版本控制的可执行代码

如果你不喜欢这种方式,或者因为环境的原因不可以这么做,仍然可以把配置放在JSON, YAML, TOML文件里面。...local_settings这种反模式 说local_settings是反模式,是因为你生产环境的可执行代码,不能被开发者看到,也他们不好debug解决问题。...有时候,在开发和测试没有发现一些细微的bug,发现的时候已经太晚了。 下面是一个真实的例子,来自于去年我帮客户解决的问题: 项目使用第三方库做slug。配置放在settings。...“ 是的,最近20年我也碰到去年这一次因为这个原因造成的bug。 但是我相信,不管程序员都没天才,多么有经验,都无可避免会犯一些愚蠢的错误。...我个人喜欢使用django自带的功能. import os from django.core.exceptions import ImproperlyConfigured def get_env_var

59910

Django开发常用30个软件包

如果你对 Django 的视图类很熟悉,你会觉得使用 DRF 构建 REST API 与使用它们很相似,不过 DRF 针对特定 API 使用场景而设计。...一般的 API 设置只需要一点代码,所以我们没有提供一份你兴奋的示例代码,而是强调了一些可以你生活的更舒适的 DRF 特性: 可自动预览的 API 可以使你的开发和人工测试轻而易举。...你可以查看 API 响应,并且不需要你做任何事就可以支持 POST/PUT/DELETE 类型的操作。...Django stored messages 可以很好地集成在Django的消息框架django.contrib.messages)并用户决定会话过程存储在数据库的消息。  ...django-xadmin - 更美观更强大的后台 如果你不喜欢django自带后台admin简陋的样式,你可以使用xadmin。

3.3K20

2023 年度 Django 开发者调查结果(jetbrains)

【注1】:为了叙述方便,下面将Django 用户和爱好者简称用户/开发者。【注2】:原文比较长,本文记录其中的部分。...【注3】:调查者大部分来自欧洲(44%)和北美(19%)和亚洲(17%),中国大陆占2%。 摘要 • 大部分(64%)用户在工作和个人项目中都使用Django。...(type hints) • 大部分用户不喜欢写文档 • Django开发资源:Django官网、stack overflow、Youtube、Reddit(r/django)、Django论坛、Django...的使用r 大部分(64%)用户在工作和个人项目中都使用Django。...大部分用户使用Django的最新的稳定版本。 Q:你如何创建Django项目? 71%的用户从头开始。 17%的用户使用 Cookiecutter Django 创建。

10210

Django实现使用userid和密码的自定义用户认证

在本教程,我们将详细介绍如何在Django实现自定义用户认证,使用包含userid字段的CustomUser模型以及标准的密码认证。本教程假设您已经对Django有基本的了解并且已经设置好了项目。...确保API响应包含CSRF保护和错误处理。前后端集成使用AJAX请求在前端页面与后端进行通信,处理用户认证的成功和失败情况。逐步教程1....定义CustomUser模型首先,在usermanagement/models.py定义一个CustomUser模型,包含userid字段以及其他可选字段reading和signature。...配置Django设置在settings.py配置Django设置,以使用自定义认证后端。...开发登录API视图,并使用AJAX请求在前端页面中集成用户认证功能。这种设置允许您根据特定项目需求定制Django的认证过程,增强用户登录功能的安全性和易用性。

15120

GET和POST到底啥区别???

POST将数据放在BODY。 GET的URL会有长度上的限制,则POST的数据则可以非常大。 POST比GET安全,因为数据在地址栏上不可见。...HTTP没有要求,如果Method是POST数据就要放在BODY。 也没有要求,如果Method是GET,数据(参数)就一定要放在URL而不能放在BODY。...而且,现代的Web Server都是支持GET包含BODY这样的请求。虽然这种请求不可能从浏览器发出,但是现在的Web Server又不是给浏览器用,已经完全地超出了HTML服务器的范畴了。...我不想解释了,有时候就得自己痛一次才记得住。 HTTP协议对GET和POST都没有对长度的限制 HTTP协议明确地指出了,HTTP头和Body都没有长度的要求。...我只是不喜欢模棱两可,不喜欢边界不清、概念不明,不喜欢“拿来主义”,也不喜欢被其它喜欢钻牛角尖的人奚落得无地自容。 “知之为知之,不知为不知,是知也。”

37420

GET和POST有什么区别?及为什么网上多数答案都是错的

HTTP没有要求,如果Method是POST数据就要放在BODY。也没有要求,如果Method是GET,数据(参数)就一定要放在URL而不能放在BODY。...而且,现代的Web Server都是支持GET包含BODY这样的请求。虽然这种请求不可能从浏览器发出,但是现在的Web Server又不是给浏览器用,已经完全地超出了HTML服务器的范畴了。...我不想解释了,有时候就得自己痛一次才记得住。 HTTP协议对GET和POST都没有对长度的限制 HTTP协议明确地指出了,HTTP头和Body都没有长度的要求。...觉得POST数据比GET数据安全的人会说 “防君子不防小人;中国小白多,能防小白用户就行了。”...我只是不喜欢模棱两可,不喜欢边界不清、概念不明,不喜欢“拿来主义”,也不喜欢被其它喜欢钻牛角尖的人奚落得无地自容。 “知之为知之,不知为不知,是知也。”

627100

用 Celery 实现 Django 博客 PV 统计

有时候我也考虑,一切的目标真的是更好的理解用户,给用户推送他想看的东西吗?或许是吧,但是始终绕不开的一个问题是,构建一个商业模式,广告主和投资人为用户的停留时长买单。...用户更多的停留在平台上,消费更多的时间。...+ 1 post.save() 这是最简单的做法,但是大部分情况,用户访问一篇文章,这篇文章通常会在缓存,毕竟不需要每次都去数据库获取。...那所有用户执行完post.save()之后,结果均为101,也就是一百次并发访问,可能出现pv加1的情况。 要解决这个问题,两个办法。 一、加锁,这个据我的了解Django没有提供,需要自己来实现。...对于方法二,在Django怎么实现呢。其实翻译为sql就是 UPDATE `blog_post` SET `pv` = (`blog_post`.

1.1K30

django 1.8 官方文档翻译:13-1-2 使用Django认证系统

Django的认证框架存在一种类型的用户,因此诸如'superusers'或管理员'staff'用户只是具有特殊属性集的user对象,而不是不同类型的user对象。...login()使用Django的会话框架保存用户的ID在会话。 注意任何在匿名会话设置的数据都会在用户登入后的会话中都会记住。...密码更改后的会话失效 New in Django 1.7. 警告 这种保护在MIDDLEWARE_CLASSESSessionAuthenticationMiddleware开启的情况下应用。...如果你不喜欢调用registration/login.html,你可以通过额外的参数传递template_name参数给你URLconf的视图。...该表单必须在它的__init__方法接收一个request关键字参数,并提供一个get_user方法,此方法返回认证过的用户对象(这个方法永远在表单验证成功后调用)。

4.6K20
领券