Django进阶之session https://www.cnblogs.com/zhaof/p/6281468.html ` def list_sessions(request): ret_dict = {} for k, v in request.session.items(): ret_dict[k] = v print ‘Key: “{0}”,Value: “{1}”\n’.format(k, v) return HttpResponse(json.dumps(ret_dict)) ` Django session https://code.ziqiangxuetang.com/django/django-session.html https://docs.djangoproject.com/en/1.11/ref/settings/#session-cookie-age 回复
Django-Elasticsearch实现搜索功能 https://zhu327.github.io/2016/05/30/django-elasticsearch%E5%AE%9E%E7%8E%B0%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD/ haystack-Elasticsearch实现拼音搜索 https://zhu327.github.io/2016/06/02/haystack-elasticsearch%E5%AE%9E%E7%8E%B0%E6%8B%BC%E9%9F%B3%E6%90%9C%E7%B4%A2/ 回复
用于帮助识别错误配置的Django应用程序的工具(djangohunter: identify incorrectly configured Django applications) https://github.com/6IX7ine/djangohunter 回复
django2笔记:路由path语法 https://kinegratii.github.io/2017/09/25/django2-url-path/ ` # urls.py urlpatterns = [ url(r’^admin/’, include(admin.site.urls)), url(r’^article/(?P[0-9]+)’, app_name.views.article), # url(r’^article/’, app_name.views.article), # Django 1.8.16 not support url(r’^user/(?P[a-zA-Z0-9]+)’, app_name.views.user), ] # views.py def article(request, pid): return JsonResponse({‘type’: str(type(pid)), ‘data’: pid}) # type: “” def user(request, name): return JsonResponse({‘type’: type(name).__name__, ‘data’: name}) # type: “unicode” ` URL路由基础 http://www.liujiangblog.com/course/django/134 回复
Django默认的admin页面如果没有需求的话就去掉吧,虽然不设置用户名密码就不会被成功爆破,但是,影响不好; 另外就是默认的 DEBUG 模式,在上线了之后,要记得设置为 False ,避免出更多问题。 https://stackoverflow.com/questions/2342031/remove-default-apps-from-django-admin http://books.agiliq.com/projects/django-admin-cookbook/en/latest/remove_default.html ` 方法一(去掉URL路由): 在 urlpatterns 那里把对应的 URL 路由给去掉: ./project_name/urls.py: # url(r’^admin/’, include(admin.site.urls)), 注意事项: ./project_name/settings.py:DEBUG = False debug模式一定要设置为 False ! ` 回复
Django+JWT实现Token认证 https://mp.weixin.qq.com/s/Kgj_5ydnT2W4Gt0vrw7gtw ` 以Django的账号密码登录为例来说明传统的验证鉴权方式是怎么工作的,当我们登录页面输入账号密码提交表单后,会发送请求给服务器,服务器对发送过来的账号密码进行验证鉴权,验证鉴权通过后,把用户信息记录在服务器端(django_session表中),同时返回给浏览器一个sessionid用来唯一标识这个用户,浏览器将sessionid保存在cookie中,之后浏览器的每次请求都一并将sessionid发送给服务器,服务器根据sessionid与记录的信息做对比以验证身份。 Token的鉴权方式就清晰很多了,客户端用自己的账号密码进行登录,服务端验证鉴权,验证鉴权通过生成Token返回给客户端,之后客户端每次请求都将Token放在header里一并发送,服务端收到请求时校验Token以确定访问者身份。 session的主要目的是给无状态的HTTP协议添加状态保持,通常在浏览器作为客户端的情况下比较通用。而Token的主要目的是为了鉴权,同时又不需要考虑CSRF防护以及跨域的问题,所以更多的用在专门给第三方提供API的情况下,客户端请求无论是浏览器发起还是其他的程序发起都能很好的支持。所以目前基于Token的鉴权机制几乎已经成了前后端分离架构或者对外提供API访问的鉴权标准,得到广泛使用。 JSON Web Token(JWT)是目前Token鉴权机制下最流行的方案,网上关于JWT的介绍有很多,这里不细说,只讲下Django如何利用JWT实现对API的认证鉴权,搜了几乎所有的文章都是说JWT如何结合DRF使用的,如果你的项目没有用到DRF框架,也不想仅仅为了鉴权API就引入庞大复杂的DRF框架,那么可以接着往下看。 ` 回复
Django默认权限机制介绍及实践 https://mp.weixin.qq.com/s/Fe7O4LIxe-L2otNguaQyqg Django内置权限扩展案例 https://mp.weixin.qq.com/s?__biz=MzU5MDY1MzcyOQ==&mid=2247483975&idx=1&sn=deab0b5692dbf1337ca77bb5abc79b39&scene=21 回复
《 “Django的使用记录_3” 》 有 7 条评论
Django进阶之session
https://www.cnblogs.com/zhaof/p/6281468.html
`
def list_sessions(request):
ret_dict = {}
for k, v in request.session.items():
ret_dict[k] = v
print ‘Key: “{0}”,Value: “{1}”\n’.format(k, v)
return HttpResponse(json.dumps(ret_dict))
`
Django session
https://code.ziqiangxuetang.com/django/django-session.html
https://docs.djangoproject.com/en/1.11/ref/settings/#session-cookie-age
Django-Elasticsearch实现搜索功能
https://zhu327.github.io/2016/05/30/django-elasticsearch%E5%AE%9E%E7%8E%B0%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD/
haystack-Elasticsearch实现拼音搜索
https://zhu327.github.io/2016/06/02/haystack-elasticsearch%E5%AE%9E%E7%8E%B0%E6%8B%BC%E9%9F%B3%E6%90%9C%E7%B4%A2/
用于帮助识别错误配置的Django应用程序的工具(djangohunter: identify incorrectly configured Django applications)
https://github.com/6IX7ine/djangohunter
django2笔记:路由path语法
https://kinegratii.github.io/2017/09/25/django2-url-path/
`
# urls.py
urlpatterns = [
url(r’^admin/’, include(admin.site.urls)),
url(r’^article/(?P[0-9]+)’, app_name.views.article),
# url(r’^article/’, app_name.views.article), # Django 1.8.16 not support
url(r’^user/(?P[a-zA-Z0-9]+)’, app_name.views.user),
]
# views.py
def article(request, pid):
return JsonResponse({‘type’: str(type(pid)), ‘data’: pid}) # type: “”
def user(request, name):
return JsonResponse({‘type’: type(name).__name__, ‘data’: name}) # type: “unicode”
`
URL路由基础
http://www.liujiangblog.com/course/django/134
Django默认的admin页面如果没有需求的话就去掉吧,虽然不设置用户名密码就不会被成功爆破,但是,影响不好;
另外就是默认的 DEBUG 模式,在上线了之后,要记得设置为 False ,避免出更多问题。
https://stackoverflow.com/questions/2342031/remove-default-apps-from-django-admin
http://books.agiliq.com/projects/django-admin-cookbook/en/latest/remove_default.html
`
方法一(去掉URL路由):
在 urlpatterns 那里把对应的 URL 路由给去掉:
./project_name/urls.py: # url(r’^admin/’, include(admin.site.urls)),
注意事项:
./project_name/settings.py:DEBUG = False
debug模式一定要设置为 False !
`
Django+JWT实现Token认证
https://mp.weixin.qq.com/s/Kgj_5ydnT2W4Gt0vrw7gtw
`
以Django的账号密码登录为例来说明传统的验证鉴权方式是怎么工作的,当我们登录页面输入账号密码提交表单后,会发送请求给服务器,服务器对发送过来的账号密码进行验证鉴权,验证鉴权通过后,把用户信息记录在服务器端(django_session表中),同时返回给浏览器一个sessionid用来唯一标识这个用户,浏览器将sessionid保存在cookie中,之后浏览器的每次请求都一并将sessionid发送给服务器,服务器根据sessionid与记录的信息做对比以验证身份。
Token的鉴权方式就清晰很多了,客户端用自己的账号密码进行登录,服务端验证鉴权,验证鉴权通过生成Token返回给客户端,之后客户端每次请求都将Token放在header里一并发送,服务端收到请求时校验Token以确定访问者身份。
session的主要目的是给无状态的HTTP协议添加状态保持,通常在浏览器作为客户端的情况下比较通用。而Token的主要目的是为了鉴权,同时又不需要考虑CSRF防护以及跨域的问题,所以更多的用在专门给第三方提供API的情况下,客户端请求无论是浏览器发起还是其他的程序发起都能很好的支持。所以目前基于Token的鉴权机制几乎已经成了前后端分离架构或者对外提供API访问的鉴权标准,得到广泛使用。
JSON Web Token(JWT)是目前Token鉴权机制下最流行的方案,网上关于JWT的介绍有很多,这里不细说,只讲下Django如何利用JWT实现对API的认证鉴权,搜了几乎所有的文章都是说JWT如何结合DRF使用的,如果你的项目没有用到DRF框架,也不想仅仅为了鉴权API就引入庞大复杂的DRF框架,那么可以接着往下看。
`
Django默认权限机制介绍及实践
https://mp.weixin.qq.com/s/Fe7O4LIxe-L2otNguaQyqg
Django内置权限扩展案例
https://mp.weixin.qq.com/s?__biz=MzU5MDY1MzcyOQ==&mid=2247483975&idx=1&sn=deab0b5692dbf1337ca77bb5abc79b39&scene=21