Django+xadmin实现教育网站系统②

news/2024/5/9 18:31:07/文章来源:https://blog.csdn.net/weixin_43746433/article/details/107031400

文章目录

  • 第10章 个人中心和全局搜索功能实现
    • 全局搜索
    • 修改头像
  • 第11章 首页、全局功能细节和404以及500页面配置
  • 第12章 常见web攻击及防范
    • sql注入
    • 12-2 xss攻击原理及防范
    • 12-3 csrf攻击与防范
  • 第13章 xadmin的进阶开发
    • 13-1 userprofile注册以及django的权限管理
    • 13-3 model_icon, 只读字段,默认排序设置,ajax加载
    • 13-8 excel导入插件介绍

代码

第10章 个人中心和全局搜索功能实现

全局搜索

感觉这里可以修改下

//顶部搜索栏搜索方法
function search_click(){var type = $('#jsSelectOption').attr('data-value'),keywords = $('#search_keywords').val(),request_url = '';if(keywords == ""){return}if(type == "course"){request_url = "/course/list?keywords="+keywords}else if(type == "teacher"){request_url = "/org/teacher/list?keywords="+keywords}else if(type == "org"){request_url = "/org/list?keywords="+keywords}window.location.href = request_url
}

修改头像

class UploadImageForm(forms.ModelForm):'''用户更改图像'''class Meta:model = UserProfilefields = ['image']
class UploadImageView(LoginRequiredMixin,View):'''用户图像修改'''def post(self,request):#上传的文件都在request.FILES里面获取,所以这里要多传一个这个参数image_form = UploadImageForm(request.POST,request.FILES)if image_form.is_valid():# 调用参数image = image_form.cleaned_data['image']request.user.image = imagerequest.user.save()return HttpResponse('{"status":"success"}', content_type='application/json')else:return HttpResponse('{"status":"fail"}', content_type='application/json')

第11章 首页、全局功能细节和404以及500页面配置

# 全局404页面配置
handler404 = 'users.views.pag_not_found'
# 全局500页面配置
handler500 = 'users.views.page_error'
from django.shortcuts import render_to_response
def pag_not_found(request):# 全局404处理函数response = render_to_response('404.html', {})response.status_code = 404return responsedef page_error(request):# 全局500处理函数from django.shortcuts import render_to_responseresponse = render_to_response('500.html', {})response.status_code = 500return response

第12章 常见web攻击及防范

sql注入

Django自带的orm带有防止sql注入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#错误--不要直接格式化字符串
query = 'SELECT * FROM myapp_person WHERE last_name = %s' % lname
Person.objects.raw(query)#正确--使用Django raw函数 功能进行安全转义
name = 'Doe'
Person.objects.raw('SELECT * FROM myapp_person WHERE last_name = %s', [name])

请注意在cursor.execute() 的SQL语句中使用“%s”,而不要在SQL内直接添加参数。 如果你使用这项技术,数据库基础库将会自动添加引号,同时在必要的情况下转意你的参数。

12-2 xss攻击原理及防范

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

12-3 csrf攻击与防范

在这里插入图片描述

在这里插入图片描述
防护:{csrf_token}表单验证

第13章 xadmin的进阶开发

13-1 userprofile注册以及django的权限管理

因为xadmin使用的是自带的static, 所以会找不到路径
urls.py

# 静态文件# re_path(r'^static/(?P<path>.*)', serve, {"document_root": STATIC_ROOT }),

settings.py

STATIC_ROOT = os.path.join(BASE_DIR, '/static/')

13-3 model_icon, 只读字段,默认排序设置,ajax加载

apps/course/adminx.py

import xadmin
from .models import Course, Lesson, Video, CourseResource,BannerCourse
from organization.models import CourseOrgclass LessonInline(object):model = Lessonextra = 0class CourseResourceInline(object):model = CourseResourceextra = 0# Course的admin管理器
class CourseAdmin(object):'''课程'''list_display = [ 'name','desc','detail','degree','learn_times','students','get_zj_nums','go_to']   #显示的字段search_fields = ['name', 'desc', 'detail', 'degree', 'students']             #搜索list_filter = [ 'name','desc','detail','degree','learn_times','students']    #过滤model_icon = 'fa fa-book'            #图标ordering = ['-click_nums']           #排序readonly_fields = ['click_nums']     #只读字段exclude = ['fav_nums']               #不显示的字段# list_editable = ['degree','desc']# refresh_times = [3,5]                #自动刷新(里面是秒数范围)inlines = [LessonInline,CourseResourceInline]    #增加章节和课程资源style_fields = {"detail": "ueditor"}def queryset(self):# 重载queryset方法,来过滤出我们想要的数据的qs = super(CourseAdmin, self).queryset()# 只显示is_banner=True的课程qs = qs.filter(is_banner=False)return qsdef save_models(self):# 在保存课程的时候统计课程机构的课程数# obj实际是一个course对象obj = self.new_obj# 如果这里不保存,新增课程,统计的课程数会少一个obj.save()# 确定课程的课程机构存在。if obj.course_org is not None:#找到添加的课程的课程机构course_org = obj.course_org#课程机构的课程数量等于添加课程后的数量course_org.course_nums = Course.objects.filter(course_org=course_org).count()course_org.save()# 将管理器与model进行注册关联
xadmin.site.register(Course, CourseAdmin)
  • 将外键名称通过ajax加载,节省资源
    在这里插入图片描述
    在这里插入图片描述

13-8 excel导入插件介绍

在这里插入图片描述

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

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

相关文章

视频网站解决带宽问题(总结)

自己搜来的一些方案&#xff0c;汇总下供自己学习吧 1.大带宽是重中之重 所有了解视频类应用的人都知道&#xff0c;视频网站的带宽才是重中之重。在线视频播放网站每天都会产生巨额的流量&#xff0c;每个客户都会占据非常大的带宽。如果带宽不够就会出现用户播放卡顿&#…

php投票网站教程,PHP之投票联系

1.建立数据库表1&#xff1a;DiaoYanTiMu表2&#xff1a;DiaoYanXuanXiang2.页面页面1&#xff1a;投票首页无标题文档#fanhui{ display:none}$db new MySQLi("localhost","root","123","mydb");$sql "select * from diaoyanti…

网站页面左右_建设一个普通的网站需要多少钱?就是一个展示型的公司网站。...

这个问题在行业内是没有准确定义的&#xff0c;每一个建站公司在面对不同的客户需求&#xff0c;都会有不同的报价模式&#xff0c;而影响价格的因素有很多&#xff0c;但无疑建站成员所拥有的“宝贵经验”往往是最贵的&#xff0c;这也是建站公司相互报价差距巨大的原因。要想…

java页面加速_为你的网站加速

我的博客刚成立也是不久&#xff0c;所以现在我关注了很多中小博客站点&#xff0c;发现很多站点打开速度很慢&#xff0c;甚至有一些网站出现打不开的情况。网站运行不稳定&#xff0c;可能和使用的服务器有关系&#xff0c;因为很多人都图方便&#xff0c;为了不备案直接使用…

linux 重启命令nginxed,Nginx转发,部署网站相关linux命令

进入目录cd /etc/nginx/sites-available进入文件defaultsudo vim default;编辑a鼠标右键粘贴退出编辑Esc保存:wq重启Nginx服务sudo service nginx restart清空default里面的内容sudo sh -c encho "" >default创建manage-front文件&#xff0c;并复制cib-front到ma…

电子病历模板编辑器_这几个邮件模板网站,帮助提升工作效率

AUTOKLOSE: 一些免费的邮件正文模板。Autopilot Templates:ree customer journey templates for marketing automationBEE TEMPLATES for GMAIL: 可编辑Gmail邮件模板。COLD EMAIL TEMPLATE: 一系列营销邮件模板。Contactually: 不知道邮件内容怎么写&#xff1f;参考下这些邮件…

关于ssm框架的外文文献及译文_使用彩云小译,翻译外文网站实现双语对照

彩云小译扩展&#xff0c;实现外语网页的翻译功能&#xff0c;一段原文一段译文&#xff0c;让查阅外文资料可以随心所欲。整理&排版 | idea君 &#xff0c;预计阅读时间 | 3分钟 文章意在学习交流分享&#xff0c;如有侵权请联系删除 封面&#xff1a;http://www.pexels.c…

网站index.php怎么关联其余,thinkphp隐藏index.php/home并允许访问其他模块的实现方法...

想要达成的效果很简单&#xff0c;我有两个模块&#xff0c;Home、Wechat。http://localhost/index.php/home/index/index 缩短为&#xff1a; http://localhost/index/indexhttp://localhost/index.php/wechat/index/index 缩短为&#xff1a; http://localhost/wechat/index/…

php5.2.8升级,UWA2.X通用建站升级程序

UWA2.X通用建站升级程序是一款基于PHP和MySQL开发的通用建站系统&#xff0c;程序简洁、灵活而具备强大的扩展性&#xff0c;将是您轻松建站的首选利器。采用XML名字空间风格核心模板&#xff1a;模板全 部使用文件形式保存&#xff0c;对用户设计模板、网站升级转移均提供很大…

google android开发者网站,谷歌上线 Fuchsia OS 开发者网站

原标题&#xff1a;谷歌上线 Fuchsia OS 开发者网站谷歌自研的操作系统 Fuchsia OS 又有新动作了。据了解&#xff0c;谷歌近日悄悄地上线了 Fuchsia OS 的开发者网站 https://fuchsia.dev/。谷歌表示&#xff0c;上线 fuchsia.dev 是为了让开发者更好地参与 Fuchsia OS 的开发…

如何自制网页服务器,如何自己制作网站?如何制作自己的网页?

如何自己制作网站?如何制作自己的网页?首先&#xff0c;你是非开发者&#xff0c;你需要知道做一个网页要采取哪些步骤。下面一起来看看吧!简单来说&#xff0c;网页制作需要的内容如下:页面设计、前端开发、后端开发(如果只是简单的介绍页面或者是不经常更改的页面)&#xf…

我的世界服务器换披风的网站,我的世界正版披风怎么换|或

【我的世界评测】我的世界正版披风怎么换。那下面给大家分享的则是我的世界正版中更换披风的教程哦~那到底怎么更换披风呢&#xff1f;那下面就给大家详细的介绍一下吧&#xff01;如果你有心仪的作品或者心得分享的话&#xff0c;欢迎来游戏园投稿&#xff0c;大家可以点击>…

计算机安全可信站点,怎样看网站是否安全?教你从地址栏上分辨网站是否真安全...

当网民有SSL证书保护的加密页面时&#xff0c;地址栏网址也会由“http”自动变成“https”。如同金色安全锁标记一样&#xff0c;我们此时提交的信息得到了安全加密保护。不知道平时大家在日常上网时有没有发现观察过有的网站开头是http&#xff0c;而有的则是https。为何会有这…

帮程序员减压放松的 10 个良心网站

同学们工作之余&#xff0c;不妨放下微博跟朋友圈&#xff0c;来这10个网站感受一下看着就醉了的情境&#xff1a;「念完往上一推音乐键&#xff0c;我往后一靠&#xff0c;潮乎乎的软皮耳机里头&#xff0c;音乐排山倒海。」今天推荐的网站&#xff0c;利用代入感强的图片与音…

来,了解一下90年代的网站

来自&#xff1a;www.sohu.com/a/240853435_66877020 年对于互联网来说是很长的一段时间&#xff0c;网页设计在此期间也走过了很长的路&#xff0c;我们现在回头看&#xff0c;几乎不敢相信我们曾经设计过这种东西&#xff01;▎1. Penny JuicePenny Juice 是一款为儿童制作的…

网站 HTTP 升级 HTTPS 完全配置手册

作者&#xff1a;葡萄城技术团队链接&#xff1a;https://my.oschina.net/powertoolsteam/blog/1862967昨天&#xff0c;所有使用Google Chrome稳定版的用户迎来了v68正式版首个版本的发布&#xff0c;详细版本号为v68.0.3440.75&#xff0c;上一个正式版v67.0.3396.99发布于6月…

来膜拜下 Google 的全球化网站架构

这是 Google SRE 工程师在2018年5月的一篇分享。本文大致的介绍了 Google 整个网站的 infrastructure&#xff0c;以及代码发布流程。而更详细的细节&#xff0c;可以阅读 Google 出的《Site Reliability Engineering》这本书。原视频 Google Tech Talk 的链接&#xff1a;http…

因在公司上不正经网站,我没过试用期…

本文转载自程序员石头&#xff0c;作者 石头哥 最近浏览到一个知乎问题&#xff1a;某运营同学在试用期期间因为在工作期间上了某个网站&#xff0c;导致试用期不过。 前两天还看到不少推文&#xff0c;大意是&#xff1a;看小电影前一定要注意网址是不是 HTTPS 的&#xff0c;…

点击“我不是机器人”后,网站到底怎么知道你真的是人?

本文转载自腾讯网&#xff0c;大部分人可能都被Google要求做过这样奇怪的保证&#xff1a; “我不是机器人”。 只要你经常使用一些国外的网站&#xff0c;它就会隔三差五地弹出这个对话框&#xff0c;要求你点击来“声明”自己不是机器人。 以前这种“证明自己是人”的环节里…

帮年轻人 “规划身后事”,这家网站获千万融资

本文转载自IT之家&#xff0c;2020 年 4 月的一天&#xff0c;24 岁的伊莎贝尔撰写了一条未来她将从坟墓中发来的推文。她并没有即将就要逝去&#xff0c;甚至也根本没有生病。 伊莎贝尔被一种新的互联网服务「种草」了。她在网上看到了一些帮助人们「规划身后事」的网站&…