资讯专栏INFORMATION COLUMN

在 django 项目之外使用 django 项目的配置 settings 信息

刘玉平 / 2572人阅读

摘要:简介最近在工作中使用和来实现开发功能,其中使用到作为。实现功能如下方法将数据发送到服务器,通过写入指定的后台多带带启动进程产生消费者将的数据写入到此处的进程使用一个多带带的文件实现,此时需要配置中使用的配置信息,包括一些其他的配置信息。

简介

最近在工作中使用 Djangodjango-rest-framework 来实现 API 开发功能,其中使用到 kafka 作为broker。

实现功能如下:

POST 方法将数据发送到服务器,通过kafka写入指定的 topic

后台多带带启动进程产生 消费者broker 的数据写入到 MySQL

此处的进程使用一个多带带的 python 文件实现,此时需要配置中使用 django orm 的配置信息,包括一些其他的配置信息。

方法一

其实这些信息也可以使用包含上下文信息的工具:

python manage.py shell

此处特别推荐神器 ipython 安装如下:

pip install ipython 

如果在这个交互环境中,可以享用一切 django 的配置,我一般常用于测试 djangomodel

凡是都有个但是,但是我们还有 方法二。(都看到这里了,就忍忍看完)

方法二

方法一 中很方便,但是使用起来只能在指定的交互环境中使用,不够灵活。

【我想要实现的是】:我在任意位置的代码、脚本中都可以很爽的使用 django 的配置

代码如下:

import os,threading
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.extend([BASE_DIR,])
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "jrjidfa.settings")

import django

django.setup()
from idfacollect.kafka_utils import Utils as kfk
from idfacollect.kafka_utils import Config as cfg


class Consumer(threading.Thread):
    def run(self):
        kfk.consume_to_mysql(host=cfg.KFK_HOST,
                             port=cfg.KFK_PORT,
                             topic=cfg.KFK_TOPIC_IDFA_DEVICE_STARTUP,
                             group_id=cfg.KFK_GP_TO_MYSQL)

        kfk.consume_to_mysql(host=cfg.KFK_HOST,
                             port=cfg.KFK_PORT,
                             topic=cfg.KFK_TOPIC_IDFA_APP_CLICK,
                             group_id=cfg.KFK_GP_TO_MYSQL)


if __name__ == "__main__":
    try:
        for i in range(5): # create 5 thread  exectue Consumer
            t = Consumer()
            t.start()
    except Exception as e:
        print e

说明一下:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 这个是想要使用的 `django` 工程的根目录;


sys.path.extend([BASE_DIR,])
# 将项目根目录加入到 python 搜索的 path 中


os.environ.setdefault("DJANGO_SETTINGS_MODULE", "jrjidfa.settings")
# 设置环境变量中的 DJANGO_SETTINGS_MODULE 设置为 django 配置


import django
django.setup()
# 启动 django 配置、注册 app 等等初始化操作

总结:接下来就可以愉快的使用了,看上面代码就知道真的很愉快。

以上です!ありがとうございました

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38302.html

相关文章

  • 利用Django开发个小型商城(一)

    摘要:利用开发个小型商城我们本期的教程是教大家如何利用开发一个小型的商城这里所说的小型商城只是功能上的简朴。并于年月在许可证下发布。这套框架是以比利时的吉普赛爵士吉他手来命名的。是重量级选手中最有代表性的一位。 利用Django开发个小型商城 我们本期的教程是教大家如何利用Django开发一个小型的商城,这里所说的小型商城只是功能上的简朴。 作者:黄志成(小黄) 作者博客:博客地址 前提 1...

    RobinTang 评论0 收藏0
  • Django搭建个人博客:用django-allauth实现第三方登录

    摘要:比较流行的解决方案是允许用户通过第三方登录,即可以通过微博这类知名社区的授权,从而登录你的小站,免去了注册的麻烦。微博微信的登录方式大致都遵循这个流程本章虽然加载了微博的接口,但是限于篇幅并没有配置,请读者查阅官方文档去实现。 现在我们已经拥有一个可以进行用户本地登录的博客系统了。如果有人欣赏你的文章,说不定就会注册成为本地用户,并和你好好交流一番。 但头疼的是,用户可能每天都在互联网...

    waruqi 评论0 收藏0
  • django配置文件

    摘要:默认的,及使用它的号数据库此处使用号数据库,在客户端查看记得切换数据库存储在本机内存中,比数据库的方式读写快很多默认的配置项,采用号库。状态保持的配置项,采用号库。使用名为的配置项存储数据。配置完成后运行程序,测试结果。 1.配置开发环境当进入虚拟环境,通过django_admin创建一个项目后,会在项目同名目录生成一个setting.py文件。而实际项目过程中会有不同的环境,如开发环境、生...

    番茄西红柿 评论0 收藏0
  • django配置文件

    摘要:默认的,及使用它的号数据库此处使用号数据库,在客户端查看记得切换数据库存储在本机内存中,比数据库的方式读写快很多默认的配置项,采用号库。状态保持的配置项,采用号库。使用名为的配置项存储数据。配置完成后运行程序,测试结果。 1.配置开发环境当进入虚拟环境,通过django_admin创建一个项目后,会在项目同名目录生成一个setting.py文件。而实际项目过程中会有不同的环境,如开发环境、生...

    williamwen1986 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<