腾讯蓝鲸论坛-专业的技术交流论坛

 找回密码
 立即加入蓝鲸智云论坛
忘了密码?
搜索
热搜: 用户手册 FAQ
12
返回列表 发新帖
楼主: bk_hera

[官方文档] 蓝鲸DevOps 开发FAQ

[复制链接]

16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 16:50:56 |显示全部楼层

10.如何停用XSS转义

蓝鲸框架中默认所有请求大部分参数都进行xss转义,如何不转义请求参数?

蓝鲸框架中通过中间件common.middlewares.CheckXssMiddleware 使所有Cgi请求中的大部分参数都需要转义,可通过在对应view函数前添加登录豁免装饰器escape_exempt(from common.decorators import escape_exempt )去除转义

16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 16:51:30 |显示全部楼层

11.如何关闭登陆验证

蓝鲸框架中默认所有请求都登录,如何去除登录验证?

蓝鲸框架中通过中间件account.middlewares.LoginMiddleware 使所有Cgi请求都需要登录验证,可通过在对应view函数前添加登录豁免装饰器login_exempt(from account.decorators import login_exempt)去除登录验证

16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 16:51:57 |显示全部楼层

12.CSRF 跨站请求出现403解决方案

Ajax请求:可直接在页面上引入csrftoken.js文件(static/js/csrftoken.js)
form表单:可在form中添加隐藏csrftoken的input框  <input type=“hidden”   name=“csrfmiddlewaretoken” value=“${csrf_token}">
扩展:若应用中提供api接口给其他应用使用,除了去除登录验证外,对于POST请求的接口还需要去除csrf的验证(添加csrf验证的豁免装饰器 from django.views.decorators.csrf import csrf_exempt)

16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 16:56:09 |显示全部楼层

13.什么是app_secret

调用组件的时候,找不到app_secret?

app_secret 即就是app_token,在应用的“基本信息”里面即可获取。

16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 17:01:24 |显示全部楼层

14.celery任务执行问题

本地开发,启动celery任务,但是任务没有执行或者启动失败?

1. 若修改了task里面的信息,请重新启动celery任务
2. windows环境的电脑,请删除上一次celery周期任务生成的celery_beat .pid 文件


重启的话,最好三个服务都重启:

启动APP:
python manage.py runserver
启动celery命令:
python manage.py celery worker  --settings=settings
启动celery调度命令:
python manage.py celerybeat --settings=settings


16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 17:08:45 |显示全部楼层

15.Admin里没有celery任务的表

在后台的Admin入口中,找不到celery任务的表:Tasks states ?

admin.py中添加以下代码在在后台刷新就可以看,即就是注册这个表到Admin
  1. from django.contrib import admin
  2. from djcelery.models import TaskMeta


  3. class TaskMetaAdmin(admin.ModelAdmin):
  4.     list_display = ('task_id', 'status', 'result', 'date_done', 'traceback')


  5. admin.site.register(TaskMeta, TaskMetaAdmin)
复制代码

16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 17:12:05 |显示全部楼层

16. Celery日志/组件日志/其他日志

Celery日志在那儿?组件的日志在那里?其他的日志呢?

线上的Celery日志在:/data/paas/apps/logs/YOUR_APPNAME/celery.log

任何日志信息,都在conf-default.py中可以查看到配置信息:
rizhi.jpg


rizhi-1.png

16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 17:24:31 |显示全部楼层

17.KendoUI 的表格实现连接前后台数据

KendoUI 的表格是怎么实现前后台数据的?
kendo-danhang-1.jpg


前端的的文件如附件:
inline_edit.part (6.82 KB, 下载次数: 5)

通过url.py文件,连接前后台数据传输

后台文件如附件:
views.py (18.58 KB, 下载次数: 5)




16

主题

1

好友

4980

积分

管理员

Rank: 48Rank: 48Rank: 48

发表于 2017-3-25 17:49:09 |显示全部楼层

18.前后台无法传递数据

明明组装好了数据格式,但从后台传给前台的数据,却不能显示?

前后台的数据传输一定要是json字符串,Python的dict格式和前台的js 对象格式一直,通过:
import json

提供的函数:
json.dumps json.loads 进行字典和json串之间的转换

详细方法见:
https://docs.python.org/2/library/json.html

另外:一定要注意日期格式,日期转换成字符串的方法,详见date datetime string等各种介绍:
http://blog.csdn.net/shanliangliuxing/article/details/7757147

蓝鲸官网

GMT+8, 2018-4-24 18:24

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部