दिलचस्प पोस्ट
पायथन में विशेष (जादू) विधियां IIS7.5 में एएसपी क्लासिक कैसे सक्षम करें I एक सूची बॉक्स आइटम का बैकग्राउंड रंग (विन्यास) मैटर (या किसी भी अन्य एसटीएल कंटेनर) से सामग्री को मिटाना / निकालें क्या UIAlertView में एक चित्र दिखाना संभव है? सरलएक्सएएल को सरणी कैसे परिवर्तित करें MySQL में बिट और टिनिनेट के बीच अंतर क्या है? कैसे कोर एनिमेशन का उपयोग कर iPhone पर 2 छवियों के बीच पारगमन करने के लिए जावा में रेखाएं कैसे आकर्षित करें यूसीएम में समग्र बेसलाइन क्या है और इसका उपयोग कब किया जाएगा? सी ++ कोड में डबल नाग आईओएस में मूल खींचें और ड्रॉप MATLAB में 3D मैट्रिक्स (छवि) का आकार बदलना Eratosthenes की छलनी – ढूँढना Primes अजगर छवि तुलना एल्गोरिथम

Django व्यवस्थापक, स्थैतिक और मीडिया फ़ाइलों में भ्रम

मैं अपेक्षा करता हूं कि मैं डीजांगो (1.4) के लिए नया हूं और मुझे स्टैटिक, मीडिया और एडमिन फाइलों के पीछे के दर्शन को समझना कठिन समय हो रहा है। परियोजना की संरचना एक ट्यूटोरियल से दूसरे में अलग है, और वेबफ़ैक्शन के लिए यही बात है (जहां मैं अपने आवेदन की मेजबानी करूँगा)। मैं यह जानना चाहूंगा कि वेबफ़ैक्शन में तैनात करते समय इसे व्यवस्थित करने का सबसे अच्छा तरीका क्या है और कम से कम दर्द और संपादन करना, स्थैतिक मीडिया का क्या मतलब है, एडीएन फाइलें क्या हैं? पहले ही, आपका बहुत धन्यवाद

Solutions Collecting From Web of "Django व्यवस्थापक, स्थैतिक और मीडिया फ़ाइलों में भ्रम"

संक्षेप में आप विकास में डीजेंगो द्वारा स्थिर फ़ाइलों की सेवा करना चाहते हैं। एक बार जब आप उत्पादन में जाने के लिए तैयार हो जाएं तो आप चाहते हैं कि सर्वर आपके लिए ऐसा करे (वे इसे तेजी से करने के लिए तैयार हैं :-))

यहां एक बुनियादी सेटअप है, एक बार जब आप सर्वर को लॉगिन करते हैं तो आप स्टैटिक-रूट फ़ोल्डर में सभी स्टैटिकफाइल प्राप्त करने के लिए कलेक्टिव कमांड चलाते हैं, जो आपके सर्वर को इंगित करता है (रीराइट नियम देखें)

./manage.py collectstatic 

settings.py

  from os import path import socket PROJECT_ROOT = path.dirname(path.abspath(__file__)) #gets directory settings is in # Dynamic content is saved to here MEDIA_ROOT = path.join(PROJECT_ROOT,'media') # if ".webfaction.com" in socket.gethostname(): # MEDIA_URL = 'http://(dev.)yourdomain.com/media/' # else: MEDIA_URL = '/media/' # Static content is saved to here -- STATIC_ROOT = path.join(PROJECT_ROOT,'static-root') # this folder is used to collect static files in production. not used in development STATIC_URL = "/static/" STATICFILES_DIRS = ( ('', path.join(PROJECT_ROOT,'static')), #store site-specific media here. ) # List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # 'django.contrib.staticfiles.finders.DefaultStorageFinder', ) 

settings_deployment.py

 from settings import * DEBUG = False TEMPLATE_DEBUG = DEBUG MEDIA_URL = "http://yourdomain.com/media/" 

urls.py

 ...other url patterns... if settings.DEBUG: urlpatterns += staticfiles_urlpatterns() #this serves static files and media files. #in case media is not served correctly urlpatterns += patterns('', url(r'^media/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.MEDIA_ROOT, }), ) 

django.conf (lighttpd, यह apache या nginx हो सकता है) परन्तु मेरा मानना ​​है कि वेबफ़ैक्शन में यह आसानी से सेट करने के लिए ऐप सेवा है

 $HTTP["host"] =~ "(^|\.)yourdomain\.com$" { fastcgi.server = ( "/django.fcgi" => ( "main" => ( "socket" => env.HOME + "/project/project.sock", "check-local" => "disable", ) ), ) alias.url = ( "/media" => env.HOME + "/project/media", "/static" => env.HOME + "/project/static-root", ) url.rewrite-once = ( "^(/media.*)$" => "$1", "^(/static.*)$" => "$1", "^/favicon\.ico$" => "/static/img/favicon.png", "^(/.*)$" => "/django.fcgi$1", ) } 

स्टेटिक फाइलें आपके अनुप्रयोगों द्वारा आवश्यक फ़ाइलें हैं जिन्हें सर्वर कस्टम जेएस स्क्रिप्ट, आइकन, एपलेट आदि जैसे संशोधनों के बिना काम कर सकता है। इसका उपयोग करने का सबसे अच्छा तरीका है कि आपके प्रत्येक ऐप के फ़ोल्डर में "स्थिर" फ़ोल्डर में स्थिर फाइलें रखनी होती है इस तरह, परीक्षण सर्वर उन्हें वहां मिलेगा, और यदि आप किसी उत्पादन सर्वर पर तैनात करते हैं, तो आपको सिर्फ python manage.py collectstatic को चलाने के लिए ही रूट-स्थिर फ़ोल्डर में उन सबको प्रतिलिपि करना होगा जो आप में परिभाषित हैं settings.py

मीडिया फ़ाइलों को आपके एप्लिकेशन के उपयोगकर्ताओं द्वारा अपलोड किए गए हैं, जैसे कि अवतार की तस्वीरें, इत्यादि।

व्यवस्थापक फाइलें Django व्यवस्थापक द्वारा उपयोग की जाने वाली स्थिर फ़ाइलें हैं, डीजेंगो टेस्ट सर्वर केवल उन्हें ढूंढ लेगी, लेकिन उत्पादन पर, आपको वास्तव में काम करने के लिए व्यवस्थापक के लिए इस फ़ोल्डर की कॉपी या लिंक करना होगा।

आशा है कि इससे आप चीजों को बेहतर देख सकेंगे …

मेरा कॉन्फ़िग है:

1.settings.py

  # Absolute filesystem path to the directory that will hold user-uploaded files. # Example: "/var/www/example.com/media/" MEDIA_ROOT='/media/' # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash. # Examples: "http://example.com/media/", "http://media.example.com/" MEDIA_URL = '/media/' # Absolute path to the directory static files should be collected to. # Don't put anything in this directory yourself; store your static files # in apps' "static/" subdirectories and in STATICFILES_DIRS. # Example: "/var/www/example.com/static/" STATIC_ROOT = '/static/' # URL prefix for static files. # Example: "http://example.com/static/", "http://static.example.com/" STATIC_URL = '/static/' # Additional locations of static files STATICFILES_DIRS = ( '/'.join(__file__.split(os.sep)[0:-2]+['static']), # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. ) # List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', # 'django.contrib.staticfiles.finders.DefaultStorageFinder', ) 

2.urls.py

  from django.conf import settings if settings.DEBUG: from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns += staticfiles_urlpatterns() 

और मेरी साइट डायर इस तरह है:

  root │ manage.py │ ├─media ├─my_django_py3 │ settings.py │ urls.py │ views.py │ wsgi.py │ __init__.py │ ├─static │ 9gq05.jpg │ ajax.js │ favicon.gif │ ├─templates └─utils