/ / Django एप्लिकेशन में ट्विटर बूटस्ट्रैप का उपयोग कैसे करें - django, ट्विटर-बूटस्ट्रैप

Django अनुप्रयोग में ट्विटर बूटस्ट्रैप का उपयोग कैसे करें - django, ट्विटर-बूटस्ट्रैप

मैं अपने Django एप्लिकेशन में ट्विटर बूटस्ट्रैप का उपयोग करना चाहता हूं और इस उद्देश्य के लिए टेम्पलेट को निम्न तरीके से संशोधित करना चाहता हूं:

<!DOCTYPE html>

<html>
<head>
<title>{{ genplan.name }}</title>
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body>
<h1>{{ genplan.name }}</h1>
<ol>
{% for cur_goal in goals %}
<li>{{ cur_goal.description }}</li>
{% endfor %}
</ol>

...
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>

MEDIA_ROOT तथा MEDIA_URL सही ढंग से सेट कर रहे हैं।

MEDIA_ROOT = "D:/dev/ccp/ccp-gp/media"
MEDIA_URL = "/media/"

हालांकि, बूटस्ट्रैप स्टाइलशीट्स को जोड़ने के बाद कुछ भी नहीं बदला है (उस पृष्ठ का स्वरूप नहीं बदला गया) और मुझे लगता है कि Django बूटस्ट्रैप संसाधन नहीं ढूंढता है।

इस समस्या के कारण क्या हो सकता है?

अद्यतन 1:

जब मैं इस कोड का उपयोग करता हूं urls.py

urlpatterns = patterns("",
(r"^$", "ccp_gp.general_plans.views.home"),     (r"^media/(?P<path>.*)$", "django.views.static.serve", {"document_root": settings.MEDIA_ROOT})     )

पाइथन अनिश्चित के बारे में शिकायत करता है settings चर।

उत्तर:

जवाब के लिए 9 № 1

आपको इसका उपयोग करने की ज़रूरत है MEDIA_URL सीएसएस और जेएस लोड करते समय:

<link href="{{ MEDIA_URL }}css/bootstrap.min.css" rel="stylesheet" media="screen">
<script src="{{ MEDIA_URL }}js/bootstrap.min.js"></script>

जब तक आपको एक पुराने Django संस्करण का उपयोग नहीं करना पड़ेगा जो स्थिर फाइल ऐप के साथ नहीं आता है, तो मैं इसके बजाय STATIC_URL का उपयोग करने और फ़ाइलों को रखने की अनुशंसा करता हूं static आपके ऐप की निर्देशिका

<link href="{{ STATIC_URL }}css/bootstrap.min.css" rel="stylesheet" media="screen">
<script src="{{ STATIC_URL }}js/bootstrap.min.js"></script>

जैसा कि टिप्पणियों में कहा गया है {{ MEDIA_URL }} खाली है। इसे ठीक करने के लिए सुनिश्चित करें कि TEMPLATE_CONTEXT_PROCESSORS सेटिंग्स में "स्थैतिक" और "मीडिया" संदर्भ प्रोसेसर होता है। जब तक आप TEMPLATE_CONTEXT_PROCESSORS सेटिंग्स को संशोधित नहीं करते हैं, यह पहले से ही मामला है।

टेम्पलेट संदर्भ प्रोसेसर का उपयोग केवल अनुरोधकॉन्टेक्स्ट के साथ टेम्पलेट को प्रस्तुत करते समय किया जाता है। Django 1.3 से शुरू करना ऐसा करने का सबसे अच्छा तरीका है TemplateResponse.

उदाहरण के लिए:

from django.template.response import TemplateResponse

def index(request):
genplan = ...
goals = ...
return TemplateResponse(request, "index.html", {
"genplan": genplan,
"goals": goals,
})

विकास सर्वर के माध्यम से MEDIA_DIR में फ़ाइलों को वितरित करने के लिए (manage.py runserver) आप निम्न कोड को अपने urls.py में जोड़ सकते हैं:

from django.conf import settings

if settings.DEBUG:
urlpatterns += (
url(r"^media/(.*)$", "django.views.static.serve",
{"document_root": settings.MEDIA_ROOT}),
)