MCPcopy Create free account
hub / github.com/pywebio/PyWebIO / DjangoHttpContext

Class DjangoHttpContext

pywebio/platform/django.py:19–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17
18
19class DjangoHttpContext(HttpContext):
20 backend_name = 'django'
21
22 def __init__(self, request: HttpRequest):
23 self.request = request
24 self.response = HttpResponse()
25
26 def request_obj(self):
27 """返回当前请求对象"""
28 return self.request
29
30 def request_method(self):
31 """返回当前请求的方法,大写"""
32 return self.request.method
33
34 def request_headers(self):
35 """返回当前请求的header字典"""
36 return self.request.headers
37
38 def request_url_parameter(self, name, default=None):
39 """返回当前请求的URL参数"""
40 return self.request.GET.get(name, default=default)
41
42 def request_body(self):
43 return self.request.body
44
45 def set_header(self, name, value):
46 """为当前响应设置header"""
47 self.response[name] = value
48
49 def set_status(self, status: int):
50 """为当前响应设置http status"""
51 self.response.status_code = status
52
53 def set_content(self, content, json_type=False):
54 """设置相应的内容
55
56 :param content:
57 :param bool json_type: content是否要序列化成json格式,并将 content-type 设置为application/json
58 """
59 # self.response.content accept str and byte
60 if json_type:
61 self.set_header('content-type', 'application/json')
62 self.response.content = json.dumps(content)
63 else:
64 self.response.content = content
65
66 def get_response(self):
67 """获取当前的响应对象,用于在私图函数中返回"""
68 return self.response
69
70 def get_client_ip(self):
71 """获取用户的ip"""
72 return self.request.META.get('REMOTE_ADDR')
73
74
75def webio_view(applications, cdn=True,

Callers 1

view_funcFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…