在 Django 中运行额外的脚本
当您有一些适用于 Web 开发和Python 的新想法时,总是需要运行额外的脚本或进程!!!它总是。
它可以是任何可能包括数据加载、处理和数据清理的脚本,也可以是任何 ML 阶段,当应用程序直接在视图或模型中提供业务逻辑并不总是最好的时候。由于 Django 约定指的是“瘦视图”,我们必须尝试修剪逻辑并尝试将其嵌入其他一些文件中。
包中的 Django 扩展,使您能够运行使用 pip 安装它所需的额外脚本,使用终端并键入
pip install django-extensions
在 setting.py 文件中找到的已安装应用程序中添加 django-extensions
INSTALLED_APPS = [
...
...
'django_extensions',
]
现在在您的项目中创建一个名为 scripts 的文件夹,该文件夹将包含您可以执行的所有Python文件
添加一个名为 '__init__.py' 的空Python文件,这指定了 Django 项目中的脚本
创建将包含您需要执行的代码的新文件,命名您喜欢的任何内容
示例:在运行服务器之前将数据从 CSV 文件加载到数据库
加载文件
import csv
from site.models import Destination
def run():
# All data in run method only will be executed
fhand = open('location.csv')
reader = csv.reader(fhand)
next(reader)
for row in reader:
latitude = row[0]
longitude = row[1]
name = row[2]
item = Destination.objects.create(name=name,latitude=latitude,longitude=longitude)
item.save()
print("Data Added")
现在运行脚本只需触发如下命令,其中“load”是文件名
python manage.py runscript load