22、Django实战第22天:课程评论】的更多相关文章

1.编辑course-comment.html 2.编辑courses.views.py class CourseCommentView(LoginRequiredMixin, View): def get(self, request, course_id): course = Course.objects.get(id=course_id) return render(request, 'course-comment.html', { 'course': course, }) 3.配置url…
我们已经可以在view函数中判断用户是否已经登录以及获取用户信息: if request.user.is_authenticated(): #判断用户是否已登录 user = request.user; #获取已登录的用户 else: user = request.user; #非登录用户将返回AnonymousUser对象 Django的User对象提供了一系列的属性和方法,其中password存储的是加密后的密码,is_staff记录用户是否有管理员权限,其 他的属性可以参考官方文档.同时d…
对应github地址:第12天   一. 课程评论   1. 创建URL, VIEW courses/views.py -> Course…
第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表.课程评论表.用户收藏表.用户消息表.用户学习表 创建名称为app_operation的用户操作APP,写数据库操作文件models.py models.py文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from __future__ import unicode_literals from datetime i…
针对上一篇FastAPI(六十二)实战开发<在线课程学习系统>需求分析需求的功能,我们对需要的接口进行梳理,大概的规划出来现有的接口,作为我们第一版的接口的设计出版,然后我们根据设计的接口. 2.1用户注册接口 路径:/user/register 请求方式:POST 请求格式:json 是否依赖登陆:否 参数: 参数名称 参数含义 参数是否必须 参数类型 username 用户名 8-16位 是 str password 密码,长度8-16位,md5加密 是 str role 类型,学生或者老…
users modesl.py设计 UserProfile 用户信息 EmailVerifyRecord 验证码 Banner 轮播图 之前我们生成了Django默认的数据表,里面有张表示auth-user mysql> desc auth_user; +--------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--…
1. 前台功能模块 基本模块:登录 注册 找回密码 / 全局搜索 / 个人中心, 课程功能:课程管理 / 讲师管理 / 授课机构管理  热门推荐 相关课程推荐 用户操作管理:用户收藏 / 课程评论  2.后台管理系统 课程管理模块:课程管理 / 课程资源管理 / 课程评论管理/轮播课程管理 认证和授权管理:用户管理 / 组管理 / 权限管理 / 用户日志管理 机构管理模块:课程机构管理 / 讲轮播图管理  3.开发流程 1.model数据库的设计 2.xadmin搭建后台管理系统和录入数据 3.…
python爬虫实战—爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!QQ群:101677771…
前言 基础的分享我们已经分享了六十篇,那么我们这次分享开始将用一系列的文章分享实战课程.我们分享的系统是在线学习系统.我们会分成不同的模块进行分享.我们的目的是带着大家去用fastapi去实战一次,开发一些功能模块,锻炼大家的项目实战的能力.实战大概分为:一:需求分析,二.接口设计,三.数据库设计,四.整体框架,五.接口开发,六.接口测试,七.部署. 我们针对<在线课程学习系统>系统,进行需求分析. 针对实战,开发一个课程学习系统,主要满足用户的注册登录,查看,开课,选课,课程评论点赞,用户可…
// A.prototype.b=22和A.b=22有什么区别 <script> function A(){    this.b=11; }A.b=22;//A.prototype.b=22; var aa=new A(); alert(aa.b);//11 </script> A.b:这里是将A当作是一个对象,给对象添加属性:var obj={};obj.b=22; A.prototype.b:这里是对A的原型添加属性,比如String.prototype.trim=functi…
Python实战之自己主动化评论 玩csdn博客一个多月了,渐渐发现了一些有意思的事,常常会有人用相同的评论到处刷.不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人.那么问题来了,这种无聊的事情当然最好能够自己主动化咯.自己也来试了一把,纯属娱乐. 登陆 要评论当然要能够先进行登陆,採用 requests 库进行处理,尝试是否能看到自己的消息列表: msg_url ="http://msg.csdn.net/" r = requests.get(msg_url, auth=('d…
<跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前两次我选用了跟原书作者一致的Python和Django版本,只要保证代码没“抄错”,基本不会有什么问题.第三次使用了更新的"Django==2.1.1",在路由urls.py配置中发现了不少问题,并一一改正. 写此博文,纪念自己的学习成果,并向作者qi sir致敬! 我的环境.版本:Cen…
使用Vue+Django+Ant Design做一个留言评论模块 1.总览 留言的展示参考网络上参见的格式,如掘金社区: 一共分为两层,子孙留言都在第二层中 最终效果如下: 接下是数据库的表结构,如下所示: 有一张user表和留言表,关系为一对多,留言表有父留言字段的id,和自身有一个一对多的关系,建表语句如下: CREATE TABLE `message` ( `id` int NOT NULL AUTO_INCREMENT, `date` datetime NOT NULL DEFAULT…
在之前三篇,我们分享的就是需求的分析,基本接口的整理,数据库链接的配置.这次我们分享项目的基本框架,目录结构如下: common目录 通用的目录,一些通用的处理放在这里 models目录 数据库相关的放在这里 routers目录 所有的接口存放的地方 test 测试用例存放的地方 config.py 配置文件 Dockerfile docker打包的,后续部署看到 main.py 主运行文件 整体的架构梳理完毕后,我们就可以进行我们相关的开发了,这里我们在之前设计的数据库的相关的,可以放在对应的…
之前文章FastAPI(七十三)实战开发<在线课程学习系统>接口开发-- 回复留言,那么我们这次分享删除留言接口的开发 可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除 我们来梳理下这里的逻辑 1.用户需要登录 2.请求携带留言的id 3.判断删除留言是否存在 4.存在则删除 那么我们看下应该如何去实现呢 @usersRouter.get(path='/deletemessage/{id}') async def deletemessage(id: int, db: Ses…
之前文章分享FastAPI(七十二)实战开发<在线课程学习系统>接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑. 1.判断用户是否登录 2.用户登录判断回复的是否存在 3.存在回复    我们对应的pydantic对象 class RebackMessConnet(MessageConent): rebackid: int     对应的crud def db_creat_rebackmessage(db: Session, reback: Reba…
之前我们分享了FastAPI(七十一)实战开发<在线课程学习系统>接口开发-- 查看留言,这次我们分享留言列表开发. 列表获取,也需要登录,根据登录用户来获取对应的留言.逻辑梳理如下. 1.判断用户是否登录 2.根据登录用户查询留言列表 3.留言列表中要根据是留言回复,进行列表重组 我们根据逻辑去梳理下对应的crud def get_message_list(db: Session, userid: int): return db.query(Message).filter(or_(Messa…
之前FastAPI(七十)实战开发<在线课程学习系统>接口开发--留言功能开发分享了留言开发,这次我们分享查看留言 梳理这里的逻辑,这个接口要依赖登录. 1.判断用户是否登录 2.判断对应id是否存在,不存在返回对应的错误 3.判断是否是当前用户的留言,或者接受的方是自己 4.返回内容后,同时变成已读. 5.如果读了且回复了,要带回复的内容 梳理后发现,之前在接口设计的时候,有些欠缺,查看留言,是查看单个的留言,查看留言后,对应的留言变成已读状态.那么我们这个都需要传递一个参数,这个参数应该是…
在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3.校验用户是否和留言的用户一致 4.校验留言长度是否符合要求 5.增加留言         那么看下对应的需要新增的pydantic. class MessageConent(BaseModel): id:int connect:str   对于crud,这次没有需要新增的,我们用的都是之前的代码中已经有的,所…
之前我们分享了FastAPI(六十八)实战开发<在线课程学习系统>接口开发--用户 个人信息接口开发.这次我们去分享实战开发<在线课程学习系统>接口开发--修改密码 我们梳理一下这里的逻辑 1.需要校验登录用户,根据登录用户,我们去校验密码 2.校验成功,我们判断新密码是否符合要求 3.存储新的密码 4.删除对应的用户的token以及错误密码存储的数据 那么开始代码实现,对应的修改密码的pydantic. from pydantic import BaseModel class U…
在之前的文章:FastAPI(六十七)实战开发<在线课程学习系统>接口开发--用户登陆接口开发,今天实战:用户 个人信息接口开发. 在开发个人信息接口的时候,我们要注意了,因为我们不一样的用户个人信息不一样,而且需要依赖登录,那么我们需要根据用户是否登录来返回用户信息,根据用户的角色来返回对应的信息, def get_role_name(db:Session,id:id): return db.query(Role).filter(Role.id == id).first()  校验下登录.因…
接上一篇文章FastAPI(六十六)实战开发<在线课程学习系统>接口开发--用户注册接口开发.这次我们分享实际开发--用户登陆接口开发. 我们先来梳理下逻辑 1.查询用户是否存在2.校验密码是否正确3.密码校验失败记录失败次数4.失败次数大于10次,当天不能登陆5.密码校验通过产生对应的token返回 接着我们去设计pydantic,用于校验用户登陆 class UserLogin(UserBase): password: str 这里我们继承的是之前的UserBase. 对应操作数据库的cu…
在课程详情页中,点击"开始学习",就进入到这课程章节信息,这里面包含了两个页面:"章节"和评论 1.把course-video.html(章节).course-comment.html(评论)复制到templates中 2.编辑course-video.html,继承base.html 3.编辑courses.views.py class CourseInfoView(View): def get(self, request, course_id): course…
基于ajax实现的登录 一.需要知道的新知识点 1.刷新验证码.给src属性加一个?号.加个?会重新去请求 //#给验证码刷新 $(".vialdCode_img").click(function () { 方式一:dom方法#} $(this)[0].src+="?"#} 方式二:jQuery的attr方法#} $(this).attr("src",$(this).attr("src")+'?') }) }) 2.当登录成功…
概述 **本人博客网站 **IT小神 www.itxiaoshen.com Kubernetes官网地址 https://kubernetes.io Kubernetes GitHub源码地址 https://github.com/kubernetes/kubernetes Kubernetes,也称为K8s,生产级别的容器编排系统,是一个用于自动化部署.扩展和管理容器化应用程序的开源系统. Kubernetes,是一个go语言开发(docker也是go语言开发,可见go语言的厉害和趋势,其兼具…
1.把course-detail.html复制到templates目录下 2.编辑course-detail.html,分析页面,继承base.html 3.编辑courses.views .... class CourseDetailView(View): def get(self, request, course_id): return render(request, 'course-detail.html', {}) 4.创建一个url,编辑courses.urls.py ... from…
从今天开始,我们将完成"公开课"课程的相关功能..... 1.把course-list.html复制到templates目录下 2.这个页面的头部.底部与之前定义的base.html模板是一样的,所以我们可以继承它,编辑course-list.html 3.在app.courses下新建urls.py文件,以后我们把课程相关的url都放在这个文件下 4.编辑项目根下的urls.py,把courses下面的urls.py包含进去 urlpatterns = [ ... #课程相关url配…
今天完成的是课程机构列表页.... 1.启动服务,进入xadmin后,添加5个城市信息用作测试数据 2.添加课程机构,其中有一项要上传封面图的地方要注意 封面图上传路径是我们在models中设置好的 在数据表中,我们存放的是相对路径,但是Django怎么知道存在哪个根目录下呢?首先我们现在项目的根目录创建一个文件夹media,我们来把media作为根目录 设置settings.py,配置media # 在末尾添加此两行 MEDIA_URL = '/media/' MEDIA_ROOT = os.…
Django它是一个开源Web应用程序框架.由Python书面. 通过MVC软件设计模式,这种模式M,视图V和控制器C. 它最初是一个数字新闻内容为主的网站已经发展到管理劳伦斯出版集团.那是,CMS(内容管理系统)软件. 于2005年7月在BSD许可证下公布.这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的. --百度百科 官网下载:https://www.djangoproject.com/download/ 官网中也给出了一些命令行安装方法,以下要说得是下载的压缩…
这里点击"收藏"也是ajax异步操作,我在operation.model.py中创建了一个用户收藏表,其中fav_id字段,如果我们收藏的是课程,那就是课程id,如果收藏的是课程机构,那就是课程机构id,如果收藏的是讲师,那就是讲师id. 编辑organization.views.py ... from operation.models import UserFavorite class UserFavView(View): def post(self, request): fav_i…