python – 从管理命令调用视图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 从管理命令调用视图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1128字,纯文字阅读大概需要2分钟。
内容图文
所以我在我的django应用程序中添加了一个manage.py命令,该命令基本上从视图中获取结果并通过电子邮件发送给特定用户.此命令将在cron计划上运行 – 基本上这是通过自动电子邮件报告完成的.
我已经想出如何添加命令,但我想现在调用视图.问题是我没有HttpRequest对象,每当我在HttpRequest上阅读django文档时,我的眼睛都会茫然,我很难跟上它.我不确定如何创建一个满足我需求的HttpRequest对象,也不确定是否有另一种方法可以完成.我也尝试将’None’作为请求对象传递,但这并没有带来任何结果.
救命?
解决方法:
我认为你的情况如下:
def superDuperView(request, params,...):
# The logic lies here which is intended to be reused.
......
......
return HttpResponse('template.html', {somedata})
您希望在管理命令中重用视图的逻辑.但调用视图是没有请求响应生命周期似乎是不可能的.因此逻辑分离和你的观点会帮助你:
def superDuberBusinessLogic(user, params,...):
#implement your logic here without a need of any request.
......
return result
你的观点将成为:
def superDuperView(request, params,...):
# You could pass user your logic if you need.
data = superDuberBusinessLogic(request.user, params,....)
return HttpResponse('template.html', {data})
您可以在管理命令中使用superDuberBusinessLogic.
内容总结
以上是互联网集市为您收集整理的python – 从管理命令调用视图全部内容,希望文章能够帮你解决python – 从管理命令调用视图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。