use*_*461 11
有可能的.Django相当擅长直接蟒蛇没有太多魔法,所以你通常可以解耦东西.视图只是函数,可以从任何其他python代码调用.
要使用ORM,您必须在脚本中设置django环境.查看"manage.py"文件显示了如何执行此操作:
from django.core.management import setup_environ
import settings
setup_environ(settings)
Run Code Online (Sandbox Code Playgroud)
现在,您可以调用您想要的任何视图:
from myapp.views import some_view
some_view(...)
Run Code Online (Sandbox Code Playgroud)
请记住,约定是视图函数将HttpRequest对象作为其第一个参数,并返回一个HttpResponse对象.您可以自己构建一个请求对象:
from django.http import HttpRequest
result = some_view(HttpRequest(), ...)
Run Code Online (Sandbox Code Playgroud)
但是如果你真的对使用HttpResponse或HttpRequest对象不感兴趣,也许你应该不要调用你的方法"视图".也许他们是"工具"或其他东西.这些都不是由Django强制执行的,但遵循这样的约定是很好的形式,所以其他程序员可以读取你的代码.
编辑: 2010-05-24:修复了"setup_environ"(之前错误地使用了"execute_manager"). 参考.