如何在 Django 视图中访问 csrf_token

How to access the csrf_token inside django view

我正在尝试访问 django 视图函数中的 csrf_token。

我已经尝试导入 csrf:

from django.template.context_processors import csrf

并像这样使用它

landingPageHtml = landingPageHtml.replace('csrf_token', csrf(request)['csrf_token'])

但是我遇到了一个错误。第二个参数必须是 str 而不是惰性对象。

如何在视图中访问 c​​srf 令牌?

@login_required
def viewLandingPage(request, slug):

    lp = getLandingPage(request, slug)

    landingPageHtml = getLandingPageFile(request, lp['file'])

    landingPageHtml = landingPageHtml.replace(
        '{{ lp.seo_title }}', lp['seo_title'])

    landingPageHtml = landingPageHtml.replace(
        '{{ lp.seo_description }}', lp['seo_description'])

    landingPageHtml = landingPageHtml.replace('csrf_token', 'csrf_token')

    return HttpResponse(landingPageHtml)

也许您正在寻找这个来获取 csrf 令牌

django.middleware.csrf.get_token(request)

参考: