当前位置: 首页 > news >正文

设计公司网站推广营销环球经贸网

设计公司网站推广营销,环球经贸网,如何通过域名访问网站,龙岩市住房和城乡建设厅网站首页接着上期代码框架#xff0c;开发第3个功能#xff0c;任务管理#xff0c;再增加一个学习任务表#xff0c;用来记录发布的学习任务的标题和内容#xff0c;预计完成天数#xff0c;奖励积分和任务状态等信息。 第一步#xff1a;编写第三个功能-任务管理 1#xff0…接着上期代码框架开发第3个功能任务管理再增加一个学习任务表用来记录发布的学习任务的标题和内容预计完成天数奖励积分和任务状态等信息。 第一步编写第三个功能-任务管理 1编辑模型文件 ./mysite/study_system/models.py: class StudyTask(models.Model):task_id models.AutoField(primary_keyTrue, verbose_name任务ID)task_type models.IntegerField(verbose_name任务类型)task_title models.CharField(max_length100, verbose_name任务标题)task_description models.TextField(verbose_name任务描述)reward_points models.IntegerField(verbose_name奖励积分)deadline_days models.IntegerField(verbose_name预计完成天数)actual_days models.IntegerField(verbose_name实际完成天数)task_status models.IntegerField(verbose_name任务状态)created_time models.DateTimeField(verbose_name创建时间)update_time models.DateTimeField(verbose_name更新时间)created_by models.ForeignKey(StudyUser, on_deletemodels.CASCADE, verbose_name创建者ID)class Meta:verbose_name 学习任务表verbose_name_plural 学习任务表# 用于模型的数据库表的名称db_table study_tasksdef __str__(self):return self.task_title 2编辑urls配置文件 ./mysite/study_system/urls.py # 任务管理url path(task/getUndoTaskList/, views.getUndoTaskList, namegetUndoTaskList), path(task/toNewTask/, views.toNewTask, nametoNewTask), path(task/addNewTask/, views.addNewTask, nameaddNewTask), 3编辑视图文件 ./mysite/study_system/views.py def getUndoTaskList(request):方法名称: 获取待完成任务列表作 者: PandaCode辉weixin公众号: PandaCode辉创建时间: 2023-10-10# 响应容器rsp_dict {}# 获取当前用户名username request.session.get(username)# 根据用户名获取用户对象cur_user StudyUser.objects.get(usernameusername)print(根据用户名查询用户对象: str(cur_user))user_list [cur_user]# 如果当前用户是3-学生则查找对应辅导员用户if cur_user.role 3:parent_id cur_user.parent_id# 根据用户ID获取用户对象parent_user StudyUser.objects.get(user_idparent_id)print(根据用户ID获取用户对象: str(parent_user))user_list [cur_user, parent_user]# 获取待完成任务列表data_list StudyTask.objects.filter(task_status0, created_by__inuser_list).order_by(-pk)# 查询待完成任务列表rsp_dict[data_list] data_listcontext_object_name undo_task_listtemplate_name study_system/home.html# html_file: xxx.html 动态指定模板页面 ; menuTo: task 任务管理 rsp_dict[html_file] study_system/task/undoTaskList.htmlrsp_dict[menuTask] menuTaskrsp_dict[context_object_name] context_object_namereturn render(request, template_name, rsp_dict)def toNewTask(request):方法名称: 跳转到发布新任务视图作 者: PandaCode辉weixin公众号: PandaCode辉创建时间: 2023-10-10rsp_dict {}rsp_dict[pageTitle] 新增任务# html_file: xxx.html 动态指定模板页面 ; menuTo: task 任务管理 rsp_dict[html_file] study_system/task/addTask.htmlrsp_dict[menuTask] menuTaskreturn render(request, study_system/home.html, rsp_dict)def addNewTask(request):方法名称: ajax请求, 表单视图发布新任务作 者: PandaCode辉weixin公众号: PandaCode辉创建时间: 2023-10-10# 初始化响应容器rsp_dict {result: error, errorMsg: 系统错误}# 是否ajax请求if request.is_ajax():try:rest request.POSTtask_title rest[taskTitle]task_type int(rest[taskType])task_description rest[taskDescription]reward_points int(rest[rewardPoints])deadline_days int(rest[deadlineDays])actual_days 0task_status 0# 获取当前用户名username request.session.get(username)# 根据用户名获取用户对象cur_user StudyUser.objects.get(usernameusername)print(根据用户名查询用户对象: str(cur_user))# 创建者ID使用 StudyUser 对象赋值created_by cur_user# 今天# UTC格式当前时区时间t time.localtime()work_date time.strftime(%Y-%m-%d %H:%M:%S, t)print(当前日期时间: str(work_date))# 创建对象并保存到数据库study_task StudyTask(task_titletask_title, task_typetask_type, task_descriptiontask_description,reward_pointsreward_points, deadline_daysdeadline_days, task_statustask_status,actual_daysactual_days, created_bycreated_by, created_timework_date,update_timework_date)# 保存到数据库是否成功study_task.save()rsp_dict[result] successexcept Exception as e:rsp_dict[errorMsg] 发布新任务保存到数据库失败.# 成功与否都返回json数据格式return JsonResponse(rsp_dict) 4编辑页面模板代码 4.1. 待完成任务列表页面 ./mysite/study_system/templates/study_system/task/undoTaskList.html {% if request.session.role 1 or request.session.role 2 or request.session.role 4 %}{# 【角色 1-系统管理员 】#}{# 【角色 2-辅导员 】#}{# 【角色 4-自导自学 】#}diva href/study_system/task/toNewTask/ classbtn btn-default btn-lg btn-block btn-a发布新任务/a/div {% endif %} !-- 结果显示区 -- div iddataList{% if data_list %}{% for studyTask in data_list %}ul classdataCardListli classbtn-group btn-group-justified{% if request.session.role 1 or request.session.role 2 or request.session.role 4 %}{# 【角色 1-系统管理员 】#}{# 【角色 2-辅导员 】#}{# 【角色 4-自导自学 】#}a href#classbtn btn-default btn-lg修改/aa href# classbtn btn-default btn-lg删除/a{% elif request.session.role 3 %}{# 【角色 3-学生用户 】#}a href# classbtn btn-default btn-lg删除/a{% endif %}/lili【任务ID {{ studyTask.task_id }}】/lili【任务发布者 {{ studyTask.created_by.username }}】/lili【发布时间 {{ studyTask.update_time|date:Y-m-d H:i:s }}】/lili【任务名称 {{ studyTask.task_title }}】/li{% if studyTask.task_type 1 %}li stylecolor: blue【任务类型 1-系统任务】/li{% elif studyTask.task_type 2 %}li【任务类型 2-辅导员任务】/li{% endif %}li【任务内容说明 {{ studyTask.task_description }}】/lili【计划完成天数 {{ studyTask.deadline_days }} 天】/lili stylecolor: red【成功奖励 {{ studyTask.reward_points }} 积分】/li{# 除法 : {% widthratio 5 100 1%}#}{# note:等同于(5 / 100) * 1,则结果返回0.05,和乘法一样使「参数3」 1就是除法了。#}{# 失败处罚积分为成功奖励积分的一半所以是 undoTask.7 / 2#}li stylecolor: green【失败处罚 -{% widthratio studyTask.reward_points 2 1 %} 积分】/li{% if request.session.role 1 or request.session.role 3 or request.session.role 4 %}{# 【角色 1-系统管理员 】#}{# 【角色 3-学生 】#}{# 【角色 4-自导自学 】#}lia href#classbtn btn-default btn-lg btn-block btn-a完成/a/li{% endif %}/ul{% endfor %}{% else %}strong查无记录/strong{% endif %} /div 4.2. 发布任务页面 ./mysite/study_system/templates/study_system/task/addTask.html script typetext/javascriptfunction addNewTask() {var taskTitle $(#taskTitle).val();var taskType $(#taskType).val();var taskDescription $(#taskDescription).val();var deadlineDays $(#deadlineDays).val();var rewardPoints $(#rewardPoints).val();// 1,获取csrfmiddlewaretoken的input标签value属性对应的值{#var token $([namecsrfmiddlewaretoken]).val();#}// 2,直接就能得到 csrfmiddlewaretoken 的input标签value属性的值var csrf_token {{ csrf_token }};$.post(/study_system/task/addNewTask/,{taskTitle: taskTitle,taskType: taskType,taskDescription: taskDescription,deadlineDays: deadlineDays,rewardPoints: rewardPoints,// 将token值放到请求数据部分,token的键必须是 csrfmiddlewaretokencsrfmiddlewaretoken: csrf_token,}, function (data) {if (success data.result) {alert(发布成功);window.location.href /study_system/task/getUndoTaskList;} else {alert(发布失败: data.errorMsg);}});} /script div classcontainerh1 classtext-center发布新任务/h1form action/study_system/task/addNewTask/ methodpost classform-horizontal roleform{% csrf_token %}{# 在Django中提交数据到后端服务的时候为了安全要使用CSRF跨站请求伪造。#}{# 跨站请求伪造的问题在于服务器信任来自客户端的数据。#}{# 常规的做法是在template模板HTML文件中的form表单 中添加 {% csrf_token %} 可以实现安全提交。#}{# 当我们使用from表单标签来发送请求时如果需要csrf_token认证那么必须将它写到我们的form表单标签里面里面的任意位置。#}{# 生成的隐藏标签为#}{# input typehidden namecsrfmiddlewaretoken valueWVHKQeAuMS4RGqyLybryIBAfacDa1Dp7PEaB3Badv3y0fvLqydX36xAVen6z3oS4#}div classform-grouplabel fortaskType classcol-sm-2 control-label任务类型/labeldiv classcol-sm-10select classform-control nametaskType idtaskType{% if request.session.role 1 %}option value1 selectedselected1-系统任务/option{% elif request.session.role 2 %}option value2 selectedselected2-辅导员任务/option{% endif %}/select/div/divdiv classform-grouplabel fortaskTitle classcol-sm-2 control-label任务名称/labeldiv classcol-sm-10input typetext classform-control nametaskTitle idtaskTitle maxlength12 size20 placeholder请输入任务名称/div/divdiv classform-grouplabel fortaskDescription classcol-sm-2 control-label任务内容说明/labeldiv classcol-sm-10textarea nametaskDescription idtaskDescription classform-control rows4/textarea/div/divdiv classform-grouplabel fordeadlineDays classcol-sm-2 control-label计划完成天数/labeldiv classcol-sm-10input typetext classform-control namedeadlineDays iddeadlineDays placeholder请输入计划完成天数/div/divdiv classform-grouplabel forrewardPoints classcol-sm-2 control-label任务奖励积分/labeldiv classcol-sm-10input typetext classform-control namerewardPoints idrewardPoints placeholder请输入任务奖励积分/div/divdiv classform-groupdiv classcol-sm-offset-2 col-sm-10a hrefjavascript:addNewTask() classbtn btn-default btn-lg btn-block btn-a提交发布/a/div/div/form /div 第二步运行测试-任务管理功能 1登录用户后先查看待完成任务列表页面 2发布新任务页面 -------------------------------------------------end -------------------------------------------------
http://www.lakalapos1.cn/news/45653/

相关文章:

  • 网站建设大师邯郸企业网站建设报价
  • wordpress自定义类型的分类名称哈尔滨百度搜索排名优化
  • 公司网站制作排名让医院做网站的策划书
  • 贵阳seo网站推广wordpress 树形菜单插件
  • 罗湖网站设计价格张家港做网站优化排名
  • 昆明云南微网站搭建非洲外贸平台有哪些
  • 无锡网站排名团队天津建设招标网站
  • 图片分页网站模板中文购物网站模板
  • 查看自己网站访问量怎样办自己的网站
  • 重庆建网站一般多少钱小程序开发教程pdf
  • 哇哈哈网站建设策划书百度app免费下载
  • 滨海做网站哪家公司好wordpress如何作页面
  • 手机网站 备案wordpress 发布文章的函数
  • 赣州市南康区建设局网站视频教学互动网站建设
  • 网站a记录的是做cname淄博烧烤的网络营销方式
  • 官方网站建设公网站设计评分标准
  • html5网站动效怎么做深圳工业设计工资
  • 做网站需要注册公司吗盐城北京网站建设
  • 自适应网站一般做几个尺寸信誉好的唐山网站建设
  • 杭州专业网站企业网站建设基本流程
  • 做营销网站代理挣钱吗课程网站资源建设小结
  • 寒亭网站建设用那个程序做网站收录好
  • 做那个网站的小编比较好公司网站开发费用兴田德润官方网站
  • 一个人做网站现实吗中国目前最好的搜索引擎
  • 广州 环保 凡人网站建设中国软文网官网
  • 网站数据库安全哪些企业网站做得好
  • 中山网站建设文化公司高陵微网站建设
  • wordpress4.0 中文海淀区seo多少钱
  • 如何做网站镜像大连网站推广机构
  • 网站 颜色标准怎么把电脑当服务器做网站