Django的使用记录_3

本文最后更新于2018年5月6日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

整理、记录,方便以后参考、查阅

正文:

参考解答:
# 请求处理
# 日志记录
# Django和VUE的组合
# Django和Bootstrap的组合
# 一些资料和项目
# Django的安全编码
参考链接:

如上

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/3915.html

《Django的使用记录_3》上有7条评论

  1. 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

  2. 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 !

  3. 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框架,那么可以接着往下看。

hi进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注