python
  • django
  • scrapy
  • 2015-02-12 116 views 1 likes 
    1

    我想设置一个变量ENVsettings.py,如:scrapy可以在设置中设置自定义变量吗?

    import sys, os 
    path_django_site = os.path.join(os.path.dirname(__file__), "../../") 
    sys.path.append(path_django_site) 
    os.environ['DJANGO_SETTINGS_MODULE'] = 'pjt1.settings.dev' 
    ENV = os.environ['DJANGO_SETTINGS_MODULE'] 
    

    所以,在我的蜘蛛项目,我可以这样写代码:

    if ENV =='pjt1.settings.dev': 
        obj = Group.objects.filter(id__lte=10) 
        print 'this is test' 
    
    elif ENV =='pjt.settings.prod': 
        obj = Group.objects.all() 
        print 'This is normal environvent' 
    

    是更多钞票? 请指导我。谢谢。

    回答

    1

    我不知道我理解的实际问题,但你可以在你的settings.py设置任何变量,这样使用它:

    # your wsgi file probably includes something like this 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pjt1.settings.dev") 
    
    # settings.py 
    ENV = os.environ['DJANGO_SETTINGS_MODULE'] 
    
    # other files 
    from django.conf import settings 
    if settings.ENV == 'pjt1.settings.dev': 
        ... 
    
    +0

    太谢谢你了。我的意思是:在''scrapy_project/settings.py''''中设置'''ENV = os.environ ['DJANGO_SETTINGS_MODULE']''',然后我可以调用''''ENV'蜘蛛中的'''来决定使用哪个环境 – user2492364 2015-02-13 00:21:44

    相关问题