2012-11-24 24 views
5

लोड करता है मैं अजगर का उपयोग कर के लिए नया हूँ और जब एक .tpl दस्तावेज़ से मेरी स्टाइलशीट को संदर्भित कर रहा समय समस्या का सामना आया है। मेरे अजगर, टेम्पलेट और सीएसएस दस्तावेज लेकिन सभी एक ही निर्देशिका में कर रहे हैं जब मैं अध्यक्ष एवं प्रबंध निदेशक का उपयोग कर पृष्ठ लोड "स्थानीय होस्ट: 8080" के लिए यह शैली के बिना टेम्पलेट लागू किया जा रहा से पता चलता।टेम्पलेट में सीएसएस स्टाइलशीट का संदर्भ नहीं कर सकता हूँ अजगर

मेरे टेम्पलेट दस्तावेज़ में मैं तीन स्टाइलशीट referenceed है index.tpl:

<link rel="stylesheet" type="text/css" href="demo.css" /> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
<link rel="stylesheet" type="text/css" href="animate-custom.css" /> 

और मेरे अजगर फ़ाइल टेम्पलेट आउटपुट: index.py:

from bottle import route,template,debug,run 
import sqlite3 

@route('/') 
def player(): 
    return template('index.tpl') 

debug(True) 
run(reloader=True) 
+0

मेरे अन्य जवाब की जाँच करें:: https://stackoverflow.com/a/45761391/3129414 – arsho

उत्तर

8

मैं बोतल इस्तेमाल नहीं किया है, लेकिन अधिकांश वेब ढांचे के लिए आपको अपनी सीएसएस/जेएस/छवियों को एक विशेष निर्देशिका में रखना होगा (जिसे आप कॉन्फ़िगरेशन के माध्यम से सेट करते हैं)। आमतौर पर इसे "स्थैतिक" या कुछ समान कहा जाता है।

मुझे यकीन है कि अगर आप अपने ब्राउज़र में सीधे उन सीएसएस फ़ाइलें लोड करने की कोशिश की:

http://localhost:8080/demo.css 

आप एक 404.

मिलता था जिस तरह से आप यह वर्तमान की स्थापना की है कि तुम क्या चाहते है पारंपरिक PHP/CGI सामान के लिए करें - आपका वेब सर्वर डिस्क पर फ़ाइलों की तलाश कर रहा है और उनकी सेवा कर रहा है। फ्रेमवर्क (आमतौर पर) इस तरह काम नहीं करते - आप रूटिंग नियम सेट अप करते हैं।

आपने इसे @route ('/') सजावट के साथ किया - इसे स्थापित करके, आपने बोतल को बताया "http: // localhost: 8080/को किसी भी अनुरोध को प्लेयर फ़ंक्शन चलाएं और जो भी उत्पन्न होता है उसे वापस कर दें।" ध्यान दें कि आपने अपनी सीएसएस फ़ाइलों के लिए कोई नियम स्थापित नहीं किया है।

अन्य संभावना यह है कि आप अपने एचटीएमएल में सीएसएस फाइलों का सही ढंग से जिक्र नहीं कर रहे हैं। यदि आप सीएसएस फ़ाइलों को सीधे लोड करते समय 404 नहीं प्राप्त करते हैं, तो HTML पोस्ट करें और हम इसे देख सकते हैं।

संपादित: बोतल दस्तावेज़ में इस मिला:

ऐसी छवियों या सीएसएस फ़ाइलों के रूप में

http://bottlepy.org/docs/dev/tutorial.html#routing-static-files

स्टेटिक फ़ाइलें स्वचालित रूप से सेवा नहीं कर रहे हैं।
from bottle import static_file 
@route('/static/<filename>') 
def server_static(filename): 
    return static_file(filename, root='/path/to/your/static/files') 
+0

अपने त्वरित करने के लिए धन्यवाद आप एक मार्ग और किन फ़ाइलों में कार्य किया हो और जहां उन्हें खोजने के लिए नियंत्रित करने के लिए एक कॉलबैक जोड़ने के लिए प्रतिक्रिया, जो मेरे लिए काम करता है धन्यवाद – Zanmato