写个view视图,查看 Django settings 配置
写个view视图,查看 Django settings 配置
代码环境很复杂,settings.py 有大量 if else 代码,根据不同情况做不同的配置初始化。实际运行起来完全不知道干了什么。写了个 view 视图,查看当前所有的配置。
代码
view.py
def beautiful_json_response(obj):
"""
返回美化的JSON
"""
def obj_to_json(obj):
if hasattr(obj, '__dict__'):
return obj.__dict__
return f'Class {obj.__class__.__name__} [{str(obj)}]'
return JsonResponse(obj, safe=False, json_dumps_params={
'default': obj_to_json,
'ensure_ascii': False,
'indent': 4,
'sort_keys': True,
'separators': (',', ': ')
})
def settings(request):
"""
所有 Django 配置
"""
from django.conf import settings
return beautiful_json_response(settings)
def settings_query(request):
"""
查询指定 Django 配置
"""
setting_key = request.GET.get('setting_key')
if not setting_key:
return HttpResponse(f'参数[setting_key]不能为空,URL参数settings_query/?setting_key=xxx,查询Django配置')
from django.conf import settings
setting_info = {setting_key: getattr(settings, setting_key)}
return beautiful_json_response(setting_info)
def request_detail(request):
"""
一个请求的所有详情
"""
result = {
'headers': request.headers,
'body': request.body,
'cookies': request.COOKIES,
'GET': request.GET,
'POST': request.POST,
'FILES': request.FILES,
'META': request.META,
}
return beautiful_json_response(result)
urls.py
urlpatterns = [
url(r'^$', views.index),
url(r'^settings/$', views.settings),
url(r'^settings_query/$', views.settings_query),
url(r'^request_detail/$', views.request_detail),
]
查看所有配置
http://127.0.0.1:8000/settings/
查看指定配置
http://127.0.0.1:8000/settings_query/?setting_key=MIDDLEWARE
查看请求详情
http://127.0.0.1:8000/request_detail/?a=baaaaaaaaa&b=d

浙公网安备 33010602011771号