关键字arg之后的Django SSLRedirect非关键字arg

时间:2013-10-07 14:52:52

标签: python django ssl middleware

我正在尝试使用SSLRedirect中间件将我的一些Django视图重定向到https。

我创建了中间件,但是我无法保护特定的url路径,如中间件代码段所述。当我将{'SSL':True}添加到我的视图关键字时,我会收到此语法错误:'关键字arg之后的非关键字arg'。我的urls.py是

from django.conf.urls.defaults import patterns, include, url
from django.views.generic.simple import direct_to_template

from post.views import *

urlpatterns = patterns('',      
    url(r'^$', turk_post, name='post', {'SSL':True}),
)

1 个答案:

答案 0 :(得分:3)

替换:

url(r'^$', turk_post, name='post', {'SSL':True}),

使用:

url(r'^$', turk_post, name='post', kwargs={'SSL':True}),

Django url是一个定义如下的函数:

def url(regex, view, kwargs=None, name=None, prefix=''):
    # et cetera

(因此函数需要关键字参数时出错)