离线脚本可以在Linux中做定时任务执行脚本。
也能够用于Django项目中,为项目做一些其他方便的操作(脱离项目运行,右键点击运行)。
下面是在Django中往数据库添加数据的例子。
init_news.py
"""
初始化动态表,在动态表中添加一些数据,方便操作
"""
import os
import sys
import django
from api import models
# 获取项目的根目录
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir) # 添加到系统环境变量
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "demos.settings") # 加载项目的配置文件,demos是项目
django.setup() # 启动django
# 上面必须写
# 添加数据
for i in range(1,37):
news_object = models.News.objects.create(
cover="https://mini-1251317460.cos.ap-chengdu.myqcloud.com/08a9daei1578736867828.png",
content="还有{0}天就放假".format(i),
topic_id=1,
user_id=1
)
models.NewsDetail.objects.create(
key="08a9daei1578736867828.png",
cos_path="https://mini-1251317460.cos.ap-chengdu.myqcloud.com/08a9daei1578736867828.png",
news=news_object
)
models.NewsDetail.objects.create(
key="0d3q0evq1578906084254.jpg",
cos_path="https://mini-1251317460.cos.ap-chengdu.myqcloud.com/0d3q0evq1578906084254.jpg",
news=news_object
)
models.py
class News(models.Model):
"""
动态
"""
cover = models.CharField(verbose_name='封面', max_length=128)
content = models.CharField(verbose_name='内容', max_length=255)
topic = models.ForeignKey(verbose_name='话题', to='Topic', null=True, blank=True)
address = models.CharField(verbose_name='位置', max_length=128, null=True, blank=True)
user = models.ForeignKey(verbose_name='发布者', to='UserInfo', related_name='news')
favor_count = models.PositiveIntegerField(verbose_name='赞数', default=0)
viewer_count = models.PositiveIntegerField(verbose_name='浏览数', default=0)
comment_count = models.PositiveIntegerField(verbose_name='评论数', default=0)
create_date = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
class NewsDetail(models.Model):
"""
动态详细
"""
key = models.CharField(verbose_name='腾讯对象存储中的文件名', max_length=128, help_text="用于以后在腾讯对象存储中删除")
cos_path = models.CharField(verbose_name='腾讯对象存储中图片路径', max_length=128)
news = models.ForeignKey(verbose_name='动态', to='News