Nox10009
Nox10009

Reputation: 39

django 1.11.6 csrf_token value is null?

settings.py

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

myview.py

@csrf_protect #ensure_csrf_cookie....etc i tried it.
def category(request):
    context = RequestContext(request)
    dic = {
        'a': 'aaaa',
        'b': 'bbb'
    }
    return render_to_response('cate.html', dic, context_instance=context)

cate.html

<form name="cateForm" id="cateForm" method="POST">
    {% csrf_token %}
    <input type="text" name="href" id="href" size="50">
</form>

and I html view source then csrf_token value is null.

Upvotes: 0

Views: 127

Answers (2)

Dmitrii
Dmitrii

Reputation: 118

context_instance parameter of render_to_response function is deprecated and was removed in Django 1.10. The problem was discussed here: Django error: render_to_response() got an unexpected keyword argument 'context_instance'.

Upvotes: 0

Alasdair
Alasdair

Reputation: 309099

Don’t use render_to_response, it’s obsolete. Use render instead.

def category(request):
    dic = {
        'a': 'aaaa',
        'b': 'bbb'
    }
    return render(request, 'cate.html', dic)

Upvotes: 2

Related Questions