【python】Django系列Day03--Django请求和响应_django回复请求后执行设备关机
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
import os
@csrf_exempt
def shutdown(request):
if request.method == 'POST':
# 执行关机命令
os.system('sudo shutdown now')
return HttpResponse("设备已关机。")
else:
return HttpResponse("仅接受POST请求。")
这段代码首先从django.http
导入了HttpResponse
,从django.views.decorators.csrf
导入了csrf_exempt
装饰器,以及标准库os
。shutdown
函数被csrf_exempt
装饰器修饰,以允许无CSRF令牌的POST请求。如果收到POST请求,则执行sudo shutdown now
命令进行关机操作,并返回关机完成的响应。如果不是POST请求,则返回提示信息。这个例子展示了如何在Django中处理简单的后台命令,并且是学习如何构建基于Django的Web服务器控制界面的一个很好的起点。
评论已关闭