=Start=
缘由:
记录在使用Django的过程中碰到的各种问题,方便以后参考。
正文:
1.碰到「CSRF verification failed. Request aborted.」怎么办?
$.ajax({ data: { somedata: 'somedata', moredata: 'moredata', csrfmiddlewaretoken: '{{ csrf_token }}' }, ... }) // http://stackoverflow.com/questions/5100539/django-csrf-check-failing-with-an-ajax-post-request
&
<form action="" method="post">{% csrf_token %} // https://docs.djangoproject.com/en/1.8/ref/csrf/#how-to-use-it
2.在Django应用中如何返回json数据?
response_data = {} response_data['result'] = 'error' response_data['message'] = 'Some error message'
在 Django 1.7 之前的版本中,可以使用下面的方法:
import json from django.http import HttpResponse return HttpResponse(json.dumps(response_data), content_type="application/json")
对于 Django 1.7 之后的版本,可以使用Django官方提供的方法:
from django.http import JsonResponse return JsonResponse({'foo':'bar'})
- https://docs.djangoproject.com/en/1.10/ref/request-response/#jsonresponse-objects
- https://docs.djangoproject.com/en/1.10/ref/request-response/#id4
- http://stackoverflow.com/questions/2428092/creating-a-json-response-using-django-and-python
- http://www.ziqiangxuetang.com/django/django-ajax.html
3.待添加
……
=END=
《 “Django的使用记录_2” 》 有 11 条评论
从Django的SECTET_KEY到代码执行
http://xxlegend.com/2015/04/01/%E4%BB%8EDjango%E7%9A%84SECTET_KEY%E5%88%B0%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C/
Django安全机制
http://xxlegend.com/2015/04/01/Django%E5%AE%89%E5%85%A8%E6%9C%BA%E5%88%B6/
从Pwnhub诞生聊Django安全编码
https://zhuanlan.zhihu.com/p/26134332
Django 自定义用户认证
http://jungor.me/?p=524
Django + Google Authenticator
http://jungor.me/?p=547
Django 优化杂谈
https://zhu327.github.io/2017/04/21/django-%E4%BC%98%E5%8C%96%E6%9D%82%E8%B0%88/
Django项目优化指南·第一部分(Django project optimization guide (part 1))
http://dizballanze.com/django-project-optimization-part-1/
优化Django ORM中的性能问题
http://blog.csdn.net/orangleliu/article/details/57088557
https://medium.com/@hansonkd/performance-problems-in-the-django-orm-1f62b3d04785#.d6v5u1f8l
Django权限机制的实现
http://blog.igevin.info/posts/django-permission/
Django 实现下载文件功能
http://blog.igevin.info/posts/django-download-function/
平时可能需要用Python写一个Web Server接收数据,原生的 BaseHTTPServer 和 SimpleHTTPServer 应该是无法处理POST请求,所以考虑借用 Django 实现这个功能,比较轻松。但是高版本的Django对于POST请求会有CSRF校验,这使我在命令行上用curl进行测试不太方便,所以可以临时先用一个装饰器禁用掉CSRF校验:
`
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
@csrf_exempt #增加的装饰器
def my_view(request):
return HttpResponse(‘Hello world’)
`
https://stackoverflow.com/questions/21743232/django-returning-403-error-csrf-cookie-not-set
Django跨域(Access-control-allow-origin)设置(前期测试的时候可能需要放开一下这方面的限制,后期可以逐渐收敛至指定的域名)
https://github.com/ottoyiu/django-cors-headers
https://stackoverflow.com/questions/22476273/no-access-control-allow-origin-header-is-present-on-the-requested-resource-i
https://stackoverflow.com/questions/22355540/access-control-allow-origin-in-django-app-when-accesed-with-phonegap
https://stackoverflow.com/questions/35521935/cors-django-access-control-allow-origin
Django跨域(Access-Control-Allow-Headers)设置
https://github.com/crs4/ome_seadragon/wiki/Enable-Django-CORS-(Cross-Origin-Resource-Sharing)-Headers-configuration
https://stackoverflow.com/questions/tagged/django-cors-headers
https://stackoverflow.com/questions/35760943/how-can-i-enable-cors-on-django-rest-framework
https://github.com/ottoyiu/django-cors-headers/#cors_allow_headers
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS#Access-Control-Allow-Headers
https://stackoverflow.com/questions/25727306/request-header-field-access-control-allow-headers-is-not-allowed-by-access-contr
python富文本XSS过滤器
https://www.leavesongs.com/PYTHON/python-xss-filter.html
Python Django开发中XSS内容过滤问题的解决
http://blog.csdn.net/dipolar/article/details/9451149
https://stackoverflow.com/questions/699468/python-html-sanitizer-scrubber-filter
`
from lxml.html.clean import clean_html
print clean_html(raw_html_str)
`
django自身安全机制-XSS和csrf
https://www.cnblogs.com/zh605929205/articles/7103796.html
https://stackoverflow.com/questions/298772/django-template-variables-and-javascript
`
1、一种方法是在前端提交之后、后端入库之前,对需要的参数进行过滤。
2、另一种方法是在后端对从数据库取出的内容进行展示之前进行过滤。
补充方法:设置安全机制。
`
Django框架在Web开发中的应用及可能产生的安全问题汇总(一)
https://zhuanlan.zhihu.com/p/32934308
python web 安全总结
https://www.anquanke.com/post/id/87007
基于Django的双因子认证实现
http://www.freebuf.com/network/150071.html
我如何使用 Django + Vue.js 快速构建项目
https://zhuanlan.zhihu.com/p/25080236
https://github.com/tmpbook/django-with-vuejs
django-ajax-post请求报错
https://hhyo.github.io/2017/09/27/django-ajax-post/
django全局异常捕获保存和输出,logger配置
https://hhyo.github.io/2018/04/16/django-traceback/
django获取from表单multiple-select的值
https://hhyo.github.io/2018/04/16/django-multiple-selecter/
django+gunicorn+nginx部署时,nginx反向代理非80端口时重定向报错
https://hhyo.github.io/2018/04/16/django-nginx-gunicorn/
django-debug设置为False后静态文件获取404
https://hhyo.github.io/2017/11/30/django-debug/
django时间格式化显示
https://hhyo.github.io/2017/11/28/django-date-format/