2013-02-15 60 views
6

से एक पायथन स्क्रिप्ट चलाएं मैं लगभग एक साल के लिए एक ही समस्या के साथ ठोकर खा रहा हूं। मुझे हमेशा इसके आसपास काम करने का एक तरीका मिल जाता है, लेकिन मैं आसपास के काम खोजने के थक गया हूं।वेब

मुझे वेब पेज पर एक बटन बनाने के लिए क्या चाहिए (बेहतर एचटीएमएल, PHP या एएसपी नहीं) जो सर्वर पर एक पायथन स्क्रिप्ट चलाता है। मुझे यह बटन एक फॉर्म से स्क्रिप्ट में जानकारी भेजने की क्षमता भी पसंद आएगी।

मुझे इसे स्थानीय होस्ट पर और अमेज़ॅन क्लाउड पर होस्ट की गई वेब सेवा के माध्यम से करने की आवश्यकता है। मैं अमेज़ॅन क्लाउड सेवा, जैसे PHP या CGI पर अतिरिक्त कुछ भी इंस्टॉल नहीं कर पाऊंगा।

मुझे वास्तव में एक आसान समाधान पसंद है, मैं अजगर के साथ एक विशेषज्ञ हूं और मैं वेबपेज लिख सकता हूं जो सीटी है, लेकिन मुझे इस समस्या का कोई आसान समाधान नहीं मिल रहा है।

मेरे आदर्श समाधान टैग करने के लिए मेल की तरह कुछ होगा:

<a href="mailto:[email protected]?Subject=Hello%20again">Send Mail</a> 

छोड़कर:

<a href="myscript.py?Subject=1234">Run Script</a> 

अब मैं अत्यधिक शक है कि जैसे एक समाधान मौजूद है, लेकिन अच्छी तरह से मैं सही सपना देख सकते।

स्क्रिप्ट मैं चलाने के लिए कोशिश कर रहा हूँ:

  1. रिटर्न एक अद्वितीय ID उपयोगकर्ता
  2. से एक जीआईएस प्रोग्राम है जो आईडी के आधार पर एक नक्शा बनाता आईडी भेजता है (आईडी क्षेत्र का चयन करता है मानचित्र)
  3. नक्शा तब एक पीएनजी को निर्यात किया जाता है, जो एक HTML दस्तावेज़ में लिखा जाता है और उसके बाद उपयोगकर्ता को एक नए टैब में प्रदर्शित किया जाता है।

संपादित ---------------------------

@Ketouem जवाब देने के लिए धन्यवाद मैं एक महान को खोजने के लिए कर रहा था मेरे मुद्दे का समाधान मैं यहां कुछ कोड पोस्ट करूंगा ताकि अन्य लाभ उठा सकें। सुनिश्चित करें कि आप पाइथन के लिए बोतल मॉड्यूल डाउनलोड करें, यह बहुत अच्छा है।

# 01 - Import System Modules 
from bottle import get, post, request, Bottle, run, template 

# 02 - Script Variables 
app = Bottle() 

# 03 - Build Temporary Webpage 
@app.route('/SLR') 
def login_form(): 
    return '''<form method="POST" action="/SLR"> 
       Parcel Fabric ID: <input name="UID" type="text" /><br /> 
       Save Location: <input name="SaveLocation" type="text" value="D:/Python27/BottleTest/SLR_TestOutputs"/><br /> 
       Air Photo On: <input name="AirPhoto" type="checkbox"/><br />     
       Open on Completion: <input name="Open" type="checkbox"/><br /> 
       Scale: <input name="Scale" type="text" value="10000"/><br /> 
       <input type="submit" /> 
       </form>''' 

# 04 - Return to GIS App 
@app.route('/SLR', method='POST') 
def PHPH_SLR_Script(): 
    # I won't bother adding the GIS Section of the code, but at this point it send the variables to a program that makes a map. This map then saves as an XML and opens up in a new tab. 

# 04 - Create and Run Page 
run(app, host='localhost', port=8080) 
+1

है? –

+0

मुझे समस्या पर एक और समस्या है, अगर कोई इसे मदद कर सकता है [यहां] (http://stackoverflow.com/questions/15010556/python-bottle-issues-when-accessed- वैकल्पिक रूप से) –

उत्तर

5

आप बोतल इस्तेमाल कर सकते हैं: यदि आप एक डेमॉन web.py, कुप्पी या पिरामिड का उपयोग कर चला सकते हैं http://bottlepy.org/docs/dev/index.html जो एक प्रकाश वेब रूपरेखा

+0

हम्म, यह एक बहुत ही रोचक समाधान है, मुझे इससे पहले कि मैं वास्तव में जानता हूं कि यह मेरी स्थिति के लिए काम करेगा या नहीं, इससे पहले मुझे इसका प्रयोग करना होगा। –

+0

शानदार समाधान, मैं अपना कोड मेरे उत्तर में जोड़ दूंगा, लेकिन आपने वास्तव में इस मॉड्यूल सुझाव के साथ मदद की है। –

+1

खुशी है कि यह ^^ मदद की – Ketouem