python类ensure_csrf_cookie()的实例源码

decorators.py 文件源码 项目:django-express 作者: bluekvirus 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def csrf(func):
    """
    Ensures csrf token cookie or checkes it based on request method type.
    """
    @wraps(func)
    def wrapper(req, *args, **kwargs):
        if req.method in ('GET', 'HEAD', 'OPTIONS', 'TRACE'):
            return (ensure_csrf_cookie(func))(req, *args, **kwargs)
            # Default cookie by CSRF_COOKIE_NAME in settings is 'csrftoken'
            # submit back in either req.form['csrfmiddlewaretoken'] or req['X-CSRFToken']
            # the latter often used by Ajax and can be configured by CSRF_HEADER_NAME in settings
        else:
            func.csrf_exempt = False  # reset csrf_exempt set by @csrf_exempt during @service
            return (csrf_protect(func))(req, *args, **kwargs)
            # Note that we don't use requires_csrf_token() here since it was for making the 'csrf_token' tag work in django templates.
    return wrapper
views.py 文件源码 项目:fomalhaut-panel 作者: restran 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def help_page(request, page_name):
    request.page_title = page_name

    try:
        return render_to_response("dashboard/help/" + page_name.replace('-', '_').lower() + ".html",
                                  {'request': request})
    except Exception as e:
        logger.error(e)
        return error_404(request)


# ??html????????{%csrftoken%}?
# django ???????csrf token?cookie
# ??ensure_csrf_cookie??????


问题


面经


文章

微信
公众号

扫码关注公众号