15 Django 离线脚本

离线脚本可以在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
posted @ 2020-01-15 16:18  SensorError  阅读(395)  评论(0编辑  收藏  举报