今天在使用django项目时,有一个文件需要在django项目启动之后进行运行,尝试以下两种方式:
方式一:
在项目settings.py同一目录下将要使用的python文件内容写入__init__.py
文件,示例如下:
__init__.py内容:
import requests
url = 'http://www.baidu.com'
resp = requests.get(url=url)
print(resp.status_code)
但是注意,此时django项目是不加载任何app内容的,我们不可以在__init__.py
引用app中的函数或者模型类,如下方式是会报错的:
from user.models import User
user_rec = User.objects.all()
错误信息如下:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
方式二:
在项目settings.py同一目录下的urls.py中写入你的python执行内容,示例如下:
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
import requests
url = 'http://www.baidu.com'
resp = requests.get(url=url)
print(resp.status_code)
from user.models import User
user_rec = User.objects.all()
该种方式是在django项目加载之后进行路由配置的,并且app已经被加载,此时引用app中的内容是不会产生错误的。
网友评论