0
我需要创建一个API,它将采用POST数据中的application/x-www-form-urlencoded数据并返回HTML内容作为响应。Tastypie:在API响应中返回html内容
现在序列化urlencoded的数据我打电话从资源以下串行:
class urlencodeSerializer(Serializer):
formats = ['json', 'jsonp', 'xml', 'yaml', 'html', 'plist', 'urlencode']
content_types = {
'json': 'application/json',
'jsonp': 'text/javascript',
'xml': 'application/xml',
'yaml': 'text/yaml',
'html': 'text/html',
'plist': 'application/x-plist',
'urlencode': 'application/x-www-form-urlencoded',
}
def from_urlencode(self, data,options=None):
""" handles basic formencoded url posts """
qs = dict((k, v if len(v)>1 else v[0])
for k, v in urlparse.parse_qs(data).iteritems())
return qs
def to_urlencode(self,content):
pass
要指定我已经添加在资源此功能的响应格式:
def determine_format(self, request):
return 'text/html'
现在,当我试图输出如下HTML响应:
data = "<html><h1>Hello</h1></html>"
return HttpResponse(data, content_type='text/html', status=200)
I我得到以下错误:
Sorry, not implemented yet. Please append "?format=json" to your URL.
有人可以建议我这个代码有什么问题,以及如何实现给定的要求。
添加下面的方法你试图启用HTML只是整个系统的一个资源? – Railslide
@Railslide只为一个资源 –