Django运行特定代码
场景:Django第一次运行 或者每次启动时需要执行某段代码,我这是需要启动Django的时候同时启动Socket。
__init__.py里面加载
直接在__init__里面加载 但是如果要执行的代码里要用到model的话会提示model未初始化
在urls.py 或者views.py里面加载
在urls.py里面的代码再runserver的时候会执行一次,并且此时model已经载入,可以在外部的代码里直接import models使用
外部使用models
先导入环境 messageServer.settings为自己的server的setting
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "messageServer.settings")
import django
django.setup()
再导入自己的models就可以用了
from server.models import hpsocket_server
_status_last = hpsocket_server.objects.last()
print({"ip": _status_last.server_ip, "port": _status_last.server_port})