我试图在用户单击按钮时创建一个对话框,但我一直收到一个错误。这是我的密码。在
请注意,我使用django大括号来捕捉ajax调用。在
视图:
class UserRegistration(braces.AjaxResponseMixin, CreateView):
form_class = UserRegistrationForm
template_name = "registration_form.html"
def get_ajax(self, request, *args, **kwargs):
context = self.get_context_data(**kwargs)
rendered = render_to_string(self.template_name, context_instance=context)
return HttpResponse(rendered)
Javascript代码:
^{pr2}$我知道这与render_to_string
有关,因为如果我简单地将rendered
设置为类似“This is some text”的值就可以了,但我不确定我做错了什么。在
render_to_string
中的context_instance
参数需要一个Context
实例,而get_context_data
返回一个字典。有几种方法可以解决此问题:1)提供}等默认变量:
Context
实例,最好是RequestContext
。一个RequestContext
将执行所有上下文处理器,因此模板可以使用request
和{2)使用
^{pr2}$dictionary
参数将上下文作为字典传递:3)当您只是将呈现的字符串传递到
HttpResponse
对象时,可以跳过render_to_string
,而使用render
:相关问题 更多 >
编程相关推荐