|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
使用celery进行异步任务的发送,但开启worker时,一直报如下错,求大佬指点下(找了一下午了,都没解决)
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
我的代码如下
- # 使用celery
- from django.conf import settings
- from django.template import loader, RequestContext
- from celery import Celery
- from goods.models import GoodsType,IndexGoodsBanner,IndexPromotionBanner,IndexTypeGoodsBanner
- from django_redis import get_redis_connection
- import os
- import django
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dailyfresh.settings")
- django.setup()
- # 创建一个Celery类的实例对象
- app = Celery('celery_tasks.tasks', broker='redis://172.16.179.142:6379/8')
- @app.task
- def generate_static_index_html():
- '''产生首页静态页面'''
- # 获取商品的种类信息
- types = GoodsType.objects.all()
- # 获取首页轮播商品信息
- goods_banners = IndexGoodsBanner.objects.all().order_by('index')
- # 获取首页促销活动信息
- promotion_banners = IndexPromotionBanner.objects.all().order_by('index')
- # 获取首页分类商品展示信息
- for type in types: # GoodsType
- # 获取type种类首页分类商品的图片展示信息
- image_banners = IndexTypeGoodsBanner.objects.filter(type=type, display_type=1).order_by('index')
- # 获取type种类首页分类商品的文字展示信息
- title_banners = IndexTypeGoodsBanner.objects.filter(type=type, display_type=0).order_by('index')
- # 动态给type增加属性,分别保存首页分类商品的图片展示信息和文字展示信息
- type.image_banners = image_banners
- type.title_banners = title_banners
- # 组织模板上下文
- context = {'types': types,
- 'goods_banners': goods_banners,
- 'promotion_banners': promotion_banners}
- # 使用模板
- # 1.加载模板文件,返回模板对象
- temp = loader.get_template('static_index.html')
- # 2.模板渲染
- static_index_html = temp.render(context)
- # 生成首页对应静态文件
- save_path = os.path.join(settings.BASE_DIR, 'static/index.html')
- with open(save_path, 'w') as f:
- f.write(static_index_html)
复制代码 |
|