2011-09-18 15 views
33

मैं अजगर के लिए बहुत नया हूं। बस पाइथन क्या है पता है। मैं नीचे दिए गए कोड बनाया है (अजगर बेकार में):वेबपृष्ठ में पाइथन स्क्रिप्ट कैसे चलाएं

print "Hi Welcome to Python test page\n"; 
print "Now it will show a calculation"; 
print "30+2="; print 30+2; 

तो मैं के रूप में index.py

मेरी स्थानीय होस्ट में इस पेज को बचाया मैं http://localhost/index.py

लेकिन यह नहीं का उपयोग कर स्क्रिप्ट चलाने निष्पादित पायथन लिपि दिखाया। इसके बजाय यह उपरोक्त कोड एचटीएमएल के रूप में दिखाया गया है। समस्या कहाँ हे? कृपया कोई मुझे बताएं कि वेबपृष्ठ में पायथन कैसे चलाएं?

+4

यह पाइथन नहीं है, आपको पाइथन वेब फ्रेमवर्क ई, जी, वेबपी या डीजेंगो आदि स्थापित करना होगा, और mod_python के साथ एपैश कॉन्फ़िगर करना होगा। –

+1

व्हिस्की आज़माएं !! : डी "डब्लूएसजीआई" (वेब ​​सर्वर गेटवे इंटरफ़ेस)। – Arunmu

+2

पजामा और मूर्तिकला जैसे ढांचे का उपयोग करके एक वेब पेज (क्लाइंट साइड पर) पाइथन को चलाने के लिए संभव है। –

उत्तर

26

दिखाने के लिए अपने कोड के लिए आदेश में, आप कई चीजों की आवश्यकता:

सबसे पहले, वहाँ एक सर्वर है कि HTTP अनुरोध हैंडल की जरूरत है। फिलहाल आप अपने स्थानीय हार्ड ड्राइव पर फ़ायरफ़ॉक्स के साथ एक फ़ाइल खोल रहे हैं। अपाचे या कुछ समान जैसे सर्वर की आवश्यकता होती है।

दूसरा, मान लीजिए कि अब आपके पास एक सर्वर है जो फाइलों की सेवा करता है, आपको सर्वर के लिए पायथन कोड के रूप में कोड की व्याख्या करने की आवश्यकता भी होगी। पाइथन उपयोगकर्ताओं के लिए समाधान आजकल mod_wsgi है। लेकिन सरल मामलों के लिए आप सीजीआई (अधिक जानकारी here) के साथ रह सकते हैं, लेकिन यदि आप आसानी से वेब पेज बनाना चाहते हैं, तो आपको Django जैसे मौजूदा पायथन वेब ढांचे के साथ जाना चाहिए।

इसे स्थापित करना काफी परेशानी हो सकती है, इसलिए तैयार रहें।

14

जैसा कि अन्य ने बताया है, पाइथन के लिए कई वेब ढांचे हैं।

लेकिन, जैसा कि आप सिर्फ अजगर के साथ शुरू हो रही हैं, एक सरल CGI स्क्रिप्ट अधिक उपयुक्त हो सकता है देख रहा है:

  1. index.cgi को अपनी स्क्रिप्ट का नाम बदलें। निष्पादन विशेषाधिकार देने के लिए आपको chmod +x index.cgi निष्पादित करने की भी आवश्यकता है। इस अजगर कोड के बाद

 
#!/usr/bin/python 
print('Content-type: text/html\r\n\r') 

बस टर्मिनल में की तरह चलाना चाहिए, सिवाय इसके उत्पादन ब्राउज़र को जाता है:

  • फ़ाइल की शुरुआत में इन 2 लाइनों जोड़ें। जब आप यह काम करते हैं, तो आप ब्राउज़र से डेटा वापस पाने के लिए the cgi module का उपयोग कर सकते हैं।

    नोट: यह मानता है कि आपका वेबसर्वर लिनक्स चला रहा है। विंडोज के लिए, #!/Python26/python इसके बजाय काम कर सकता है।

  • +2

    वेब होस्टिंग के लिए मैं उपयोग कर रहा हूं, मुझे '#!/Usr/bin/env python # - * - कोडिंग: यूटीएफ -8 - * -' इसके बजाय जोड़ना पड़ा। – GrandAdmiral

    7

    यदि आप अपने कंप्यूटर का उपयोग कर रहे हैं, तो XAMPP (या WAMPP या तो काम करता है) नामक एक सॉफ्टवेयर स्थापित करें। यह मूल रूप से एक वेबसाइट सर्वर है जो केवल आपके कंप्यूटर पर चलता है। फिर, एक बार यह स्थापित हो जाने पर, xampp फ़ोल्डर पर जाएं और htdocs फ़ोल्डर को डबल क्लिक करें। अब आपको एक HTML फ़ाइल बनाना है (मैं इसे runpython.html कहूंगा)। (और साथ htdocs को अजगर फ़ाइल स्थानांतरित करने के लिए याद रखें)

    (आवश्यक के रूप में इनपुट और) अपने html शरीर को यह में जोड़े

    <form action = "file_name.py" method = "POST"> 
        <input type = "submit" value = "Run the Program!!!"> 
    </form> 
    

    अब, अजगर फ़ाइल में, हम मूल रूप से मुद्रण होने जा रहे हैं एचटीएमएल कोड बाहर।

    #We will need a comment here depending on your server. It is basically telling the server where your python.exe is in order to interpret the language. The server is too lazy to do it itself. 
    
        import cgitb 
        import cgi 
    
        cgitb.enable() #This will show any errors on your webpage 
    
        inputs = cgi.FieldStorage() #REMEMBER: We do not have inputs, simply a button to run the program. In order to get inputs, give each one a name and call it by inputs['insert_name'] 
    
        print "Content-type: text/html" #We are using HTML, so we need to tell the server 
    
        print #Just do it because it is in the tutorial :P 
    
        print "<title> MyPythonWebpage </title>" 
    
        print "Whatever you would like to print goes here, preferably in between tags to make it look nice" 
    
    +0

    अजीब इंडेंटिंग के लिए खेद है मैंने कुछ बार संपादित किया – ytpillai

    5

    पाइथन में flask लाइब्रेरी का उपयोग करके आप इसे प्राप्त कर सकते हैं। अपने HTML पृष्ठ को "टेम्पलेट्स" नामक फ़ोल्डर में स्टोर करना याद रखें जहां आप अपनी पायथन स्क्रिप्ट चला रहे हैं।

    तो अपने फ़ोल्डर

    1. टेम्पलेट्स (जो आपके HTML फ़ाइल होते हैं फ़ोल्डर)
    2. अपने अजगर स्क्रिप्ट

    यह आपके अजगर स्क्रिप्ट का एक छोटा सा उदाहरण है की तरह लग रहे हैं। यह केवल साहित्य चोरी के लिए जाँच करता है।

    from flask import Flask 
    from flask import request 
    from flask import render_template 
    import stringComparison 
    
    app = Flask(__name__) 
    
    @app.route('/') 
    def my_form(): 
        return render_template("my-form.html") 
    
    @app.route('/', methods=['POST']) 
    def my_form_post(): 
    
    text1 = request.form['text1'] 
    text2 = request.form['text2'] 
    plagiarismPercent = stringComparison.extremelySimplePlagiarismChecker(text1,text2) 
    if plagiarismPercent > 50 : 
        return "<h1>Plagiarism Detected !</h1>" 
    else : 
        return "<h1>No Plagiarism Detected !</h1>" 
    if __name__ == '__main__': 
        app.run() 
    

    यह है कि प्रयोग किया जाता है

    <!DOCTYPE html> 
    <html lang="en"> 
    <body> 
        <h1>Enter the texts to be compared</h1> 
        <form action="." method="POST"> 
         <input type="text" name="text1"> 
         <input type="text" name="text2"> 
         <input type="submit" name="my-form" value="Check !"> 
        </form> 
    </body> 
    </html> 
    

    Thid HTML फ़ाइल का एक छोटा सा टेम्पलेट एक छोटे से थोड़ा रास्ता है जिसके माध्यम से आप दो स्ट्रिंग की तुलना में कोई सरल कार्य प्राप्त कर सकते हैं और आसानी से सूट करने के लिए ढाला जा सकता है आपकी आवश्यकताओं

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