"""
opvis主控程序
====
- web
- manager Django默认的manager程序
"""
import os
import sys
import click
@click.group()
def opviscore():
pass
@opviscore.group()
def web():
pass
@web.command(context_settings=dict(
ignore_unknown_options=True,
))
@click.argument("argv", nargs=-1)
def manager(argv):
argv = ["opvis-web-manager"] + list(argv)
# #################################################################################
# Take from django's default manager.py
# #################################################################################
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "opviscore.settings")
try:
from django.core.management import execute_from_command_line
except ImportError:
try:
import django
except ImportError:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
)
raise
execute_from_command_line(argv)
# #################################################################################
# Take from django's default manager.py
# #################################################################################
if __name__ == '__main__':
opviscore()
转载于:https://my.oschina.net/DOITBETTER/blog/740482
本文介绍了opvis项目的主控程序结构与启动流程,通过使用click库定义命令行接口,实现了web子系统的manager命令,该命令可以启动一个基于Django框架的默认manager程序。
1万+

被折叠的 条评论
为什么被折叠?



