Python 从0开始 一步步基于Django创建项目(12)使用装饰器login_required()限制对页面的访问

本文实现功能:

除‘主页’和‘注册’页之外的所有页面,都只有在用户登录后才能访问。

实施方法:在city_infos的views.py文件中,引入装饰器,并在所有视图函数前应用装饰器。

步骤如下:

1、使用import引入装饰器

from django.contrib.auth.decorators import login_required #导入函数login_required()

2、在视图函数前使用装饰器

#将login_required函数作为装饰器,在运行cities代码前,先运行login_required中的代码
#login_required检查用户登录情况,已经登录,才运行cities的代码
#如果未登录,就定向到登录界面
@login_required
def cities(request):cities = City.objects.order_by('date_added')context = {'cities':cities}return render(request,'city_infos/cities.html',context)

3、为了实现重定向,修改city_infos的setting.py文件。该文件位于项目根目录:C:\D\Python\Python310\study\snap_gram\snap_gram

在文件的最后添加如下内容:

#我的设置
LOGIN_URL = 'users:login'

4、如果只在cities函数前加装‘装饰器’,未登录用户无法查看城市列表,但是仍旧可以使用url(例如:localhost:8000/new_city/),进行非登录用户不应该执行的操作,如下图所示:

为了防止此类情况,需要在views.py文件除index函数外的,所有函数前加装装饰器。

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

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

相关文章

阿里云-零基础入门NLP【基于深度学习的文本分类3-BERT】

文章目录 学习过程赛题理解学习目标赛题数据数据标签评测指标解题思路BERT代码 学习过程 20年当时自身功底是比较零基础(会写些基础的Python[三个科学计算包]数据分析),一开始看这块其实挺懵的,不会就去问百度或其他人,当时遇见困难挺害怕的…

android 11 SystemUI 状态栏打开之后的界面层级关系说明之一

比如WiFi 图标的父layout为: Class Name: ButtonRelativeLayout Class Name: QSTileView Class Name: TilePage Class Name: PagedTileLayout Class Name: QSPanel Class Name: NonInterceptingScrollView Class Name: QSContainerImpl Class Name: FrameLayout Cl…

C语言数据结构易错知识点(5)(插入排序、选择排序)

插入排序:直接插入排序、希尔排序 选择排序:直接选择排序、堆排序 上述排序都是需要掌握的,但原理不会讲解,网上有很多详尽地解释,本文章主要分享一下代码实现上应当注意的事项 1.直接插入排序: 代码实…

RK3568驱动指南|第十四篇 单总线-第155章 单总线简介

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

win10休眠功能误删了

背景: 今天用某电脑管家清理C盘,不小心把休眠文件给删了,结果电脑失去了休眠功能。这玩意对我太重要了,我合上盖子就是要电脑休眠带走的。于是开始找办法,终于在官网找到了。并且恢复成功。 话不多说直接上技能&#…

基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告

基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…

【APP_TYC】数据采集案例天眼APP查_抓包分析_①

一杯敬朝阳 一杯敬月光 唤醒我的向往 温柔了寒窗 于是可以不回头地逆风飞翔 不怕心头有雨 眼底有霜 一杯敬故乡 一杯敬远方 守着我的善良 催着我成长 所以南北的路从此不再漫长 灵魂不再无处安放 🎵 毛不易《消愁》 准备工作 在开始之前&…

qtxlsx 学习

简介: QXlsx是一个可以读写Excel文件的库。不依赖office以及wps组件,可以在Qt5支持的任何平台上使用。 QXlsx和QAxObject 比较 QAxObject使用需要系统中安装了offie或wps,这种方法不推荐使用; 因为如果安装了wps,可…

以太网链路聚合——增加带宽,解决生成树收敛慢的问题

目录 一.对STP生成树的补充 1.STP接口状态 2.STP生成树的改进 二.网络可靠性 1.单板可靠性 2.设备可靠性 3.链路可靠性 三.链路聚合 1.多条链路聚合增加带宽 2.链路聚合术语 四.链路聚合模式 1.手动模式 2.LASP模式 (1).LASP术语 (2&…

头歌 实验二 Java类编程实验

头歌 实验二 Java类编程实验 制作不易,点个关注!给大家带来更多的价值! 目录 头歌 实验二 Java类编程实验制作不易,点个关注!给大家带来更多的价值!第一关: 编写一个代表三角形的类第二关&…

智慧公厕,让数据和技术更好服务社会生活

智慧公厕,作为智慧城市建设中不可忽视的一部分,正逐渐受到越来越多人的关注。随着科技的不断进步,智能化公厕已经成为一种趋势,通过数据的流转和技术的整合,为社会生活带来了更好的服务。本文以智慧公厕源头实力厂家广…

密码学 总结

群 环 域 群 group G是一个集合,在此集合上定义代数运算*,若满足下列公理,则称G为群。 1.封闭性 a ∈ G , b ∈ G a\in G,b\in G a∈G,b∈G> a ∗ b ∈ G a*b\in G a∗b∈G 2.G中有恒等元素e,使得任何元素与e运算均为元素本…

dataguard配置SYNC导致数据库性能频繁卡顿

获取卡时间段的堵塞事件,发现大部分事件是“cursor: pin S wait on X”,“log file parallel write”,“LGWR-LNS wait on channel”等根据blocking_session的堵塞源进行查询,最终查到源头,发现堵塞在文件号为2&#x…

C++第十三弹---内存管理(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、operator new与operator delete函数 1.1、operator new与operator delete函数 2、new和delete的实现原理 2.1、内置类型 2.2、自定义类型 …

【爬虫基础】第4讲 GET与POST请求

GET请求 GET请求是一种HTTP方法,用于向服务器获取(或读取)数据。它是Web开发中最常用的请求方式之一。对于GET请求,客户端向服务器发送一个HTTP请求,服务器返回请求的资源。GET请求通常用于获取静态资源,比…

Apache Hive的基本使用语法

一、数据库操作 创建数据库 create database if not exists myhive;查看数据库 use myhive; desc database myhive;创建数据库并指定hdfs存储 create database myhive2 location /myhive2;删除空数据库(如果有表会报错) drop database myhive;…

【Redis】Redis 介绍Redis 为什么这么快?Redis数据结构Redis 和Memcache区别 ?为何Redis单线程效率也高?

目录 Redis 介绍 Redis 为什么这么快? Redis数据结构 Redis 和Memcache区别 ? 为何Redis单线程效率也高? Redis 介绍 Redis 是一个开源(BSD 许可)、基于内存、支持多种数据结构的存储系统,可以作为数据…

专题:一个自制代码生成器(嵌入式脚本语言)之应用实例

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 专题:一个自制代码…

信号处理--基于FBCSP滤波方法的运动想象分类

目录 理论 工具 方法 代码获取 理论 通用空间模式 (CSP) 算法可以用来有效构建最佳空间滤波器区分,然后实现运动想象的数据中的脑电信号的区分。然而,空间滤波器性能的好坏主要取决于其工作频带。如果脑电信号没有经过滤波或者滤波的频带范围不合适…

如何选择适合自己的软文推广平台

随着新媒体的兴起,越来越多的企业关注软文的推广,一篇好的软文离不开一个好的发布渠道。如何选择合适的发稿平台已经成为很多企业的痛点,所以我会根据自己的经验介绍一个常见的发稿平台。 1.门户网站 门户网站,这里就不解释哪些网…