• 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
    
  • 相关阅读:
    nginx+redis 实现 jsp页面缓存,提升系统吞吐率
    mybatis做like模糊查询
    java自定义注解实现前后台参数校验
    sql like 通配符 模糊查询技巧及特殊字符
    Hbuilder 常用快捷键汇总
    史上最全最强SpringMVC详细示例实战教程
    软件设计师&产品经理应常去的网站
    ActionMQ5.8.0 JMS实例 手把手详细图解
    Maven简单使用
    Maven 使用介绍
  • 原文地址:https://www.cnblogs.com/yzm1017/p/12197330.html
Copyright © 2020-2023  润新知