python
  • django
  • scrapy
  • 2015-02-12 75 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

    相關問題