2012-06-26 13 views
23

मैं एक परियोजना के लिए विशिष्ट एक सरल क्यूइंग सेवा को लागू करना चाहता हूं। Django निर्देशिका संरचना में कोड कहां जाना चाहिए?Django निर्देशिका संरचना?

वर्तमान संरचना होती है:

sound/ 
    __init__.py 
    models.py 
    tests.py 
    views.py 
    static 

[संपादित करें] जहां मैं ऊपर direcotry ढांचे के भीतर बनाया कतार सेवा कोड डालने की मैं पूछ रहा हूँ। क्या मुझे एक नई निर्देशिका बनाना चाहिए?

+0

संभव डुप्लिकेट: // stackoverflow। com/प्रश्न/2282034/वेब अनुप्रयोग tion-django-typical-project-folder-struct –

+0

क्या आप यह पूछ रहे हैं कि यह 'ध्वनि' ऐप फ़ोल्डर कहां रखा जाए? – jdi

उत्तर

61

आम संरचनाओं

Django 1.4+

project_root/ 
    project_name/ 
     media/ 
     static/ 
      some_app/css/app.css # overriding an app css file from project level 
      css/ 
       project.css 
     static_root/ # in production using the collectstatic command 
     templates/some_app/foo.html # overriding some_app at project level 
       /admin/some_app/some_model/change_list.html 
       # overriding admin changelist for some_app.models.some_model 
     settings/ 
      __init__.py 
      base.py # settings common to all instances of the project 
      dev.py 
      staging.py 
      test.py 
      prod.py 
     urls.py 
    some_app/ 
     static/ 
      css/ 
       app.css 
     templates/some_app/foo.html 
     urls.py 
     views.py 
     models.py 
    manage.py 

में Django 1.3 में और पूर्व

project_root/ 
    some_app/ 
     templates/some_app/foo.html 
     static/ 
      css/ 
       app.css 
     urls.py 
     views.py 
     models.py 
    media/ 
    static/ 
     some_app/ 
      css/ 
       app.css # overriding an app css file from project level 
     css/ 
      project.css 
    static_root/ (in production) 
    templates/some_app/foo.html # overriding some_app at project level 
      /admin/some_app/some_model/change_list.html 
      # overriding admin changelist for some_app.models.some_model 
    settings/ 
     __init__.py 
     base.py # settings common to all instances of the project 
     dev.py 
     staging.py 
     test.py 
     prod.py 
    urls.py 
    manage.py 

वैकल्पिक दृष्टिकोण http की

project_root/ 
    .gitignore 
    README.md 
    docs/ 
    venv/ 
    src/ 
     main/ 
      media/ 
      static/ 
       some_app/css/app.css # overriding an app css file from project level 
       css/ 
        project.css 
      static_root/ # in production using the collectstatic command 
      templates/some_app/foo.html # overriding some_app at project level 
        /admin/some_app/some_model/change_list.html 
        # overriding admin changelist for some_app.models.some_model 
      settings/ 
       __init__.py 
       base.py 
       dev.py 
       staging.py 
       test.py 
       prod.py 
      urls.py 
     some_app/ 
      static/ 
       css/ 
        app.css 
      templates/some_app/foo.html 
      urls.py 
      views.py 
      models.py 
     manage.py 
     wsgi.py 
+1

आप टेम्पलेट्स कहां जोड़ेंगे? – starsinmypockets

+1

@ एपर्सिनमीपॉकेट प्रति ऐप आप अपने डिफ़ॉल्ट टेम्पलेट्स को जोड़ सकते हैं, शायद बिना स्टाइल के। प्रोजेक्ट लेवल पर इन्हें ओवरराइड करें, मैंने टेम्पलेट्स के साथ उदाहरण अपडेट किया है। –

+0

प्रोजेक्ट स्तर पर टेम्पलेट ओवरराइड क्यों करें? –

1

यदि आपको डेटाबेस का उपयोग करने की आवश्यकता है, तो आपको models.py में डेटा मॉडल जोड़ना चाहिए। आपके कार्यक्रम के लिए मैं इसे नई पायथन फ़ाइलों (उदा। Queuing.py) में लिखने की अनुशंसा करता हूं कि आप कब और कहां इसका उपयोग करना चाहते हैं आयात करेंगे। आप इसके लिए भी एक और django ऐप बना सकते हैं।

+1

_ आप इसके लिए भी एक और django ऐप बना सकते हैं ._ यह एक अच्छी सिफारिश नहीं है। सेवा कोड एमवीसी से अलग किया जाना चाहिए। आम तौर पर, यह सिर्फ एक और ऐप नहीं है। –

संबंधित मुद्दे