2009-12-06 19 views
6

मैं एक बहुत ही सरल पायथन वेब ऐप बनाना चाहता हूं। मुझे Django या किसी अन्य वेब framwwork की जरूरत नहीं है। क्या अजगर में वेब ऐप बनाने का कोई आसान तरीका नहीं है?पायथन वेब एप्लिकेशन

धन्यवाद

+2

डुप्लिकेट: कृपया पोस्ट करने से पहले "[पायथन] सरल वेब ऐप" खोजें। यहां आपके प्रश्न के सौ या अधिक उत्तर हैं: http://stackoverflow.com/search?q=%5BPython%5D+simple+web+app। उदाहरण: http://stackoverflow.com/questions/1641616/python-and-web-development –

+0

यदि आप बताते हैं कि आप django के बारे में क्या नापसंद करते हैं, तो विकल्पों की सिफारिश करना आसान हो सकता है। – tosh

उत्तर

3

WSGI शायद आप के लिए क्या देख रहे है। यद्यपि कई हल्के पायथन web frameworks हैं जो लगभग django से कम मोनोलिथिक हैं।

5

ज़रूर! For example,

print 'Content-Type: text/plain' 
print '' 
print 'Hello, world!' 

यह एक वेब अनुप्रयोग है - अगर आप एक मशीन की एक उचित निर्देशिका में एक फ़ाइल में इसे बचा एक वेब सर्वर चल रहा है और सर्वर का विन्यास ठीक से सेट (सर्वर के आधार पर); आलेख मैंने विशेष रूप से इंगित किया है कि इस वेब ऐप को Google App Engine पर कैसे तैनात किया जाए, लेकिन किसी भी वेब सर्वर के बारे में CGI ऐप्स प्रदान कर सकते हैं, और यह इसका एक सरल उदाहरण है।

बेशक, सीजीआई की सीमाएं हैं, और आप अधिक परिष्कृत दृष्टिकोण (अभी भी ढांचे से कम!) जैसे WSGI (सार्वभौमिक रूप से समर्थित हैं, अगर कुछ भी नहीं है क्योंकि यह सीजीआई के शीर्ष पर चल सकता है - लेकिन इसमें ज्यादातर मामलों में आप इसे अधिक उन्नत तरीकों से भी तैनात कर सकते हैं) और संभवतः कई उत्कृष्ट उपयोगिता components में से कुछ आप अपने ऐप्स के कुछ हिस्सों को कोडिंग में काम करने के लिए डब्लूएसजीआई के साथ तैनात कर सकते हैं।

10

आप Django की जरूरत नहीं है, कोशिश

web.py

http://webpy.org/

import web 

urls = (
    '/(.*)', 'hello' 
) 
app = web.application(urls, globals()) 

class hello:   
    def GET(self, name): 
     if not name: 
      name = 'world' 
     return 'Hello, ' + name + '!' 

if __name__ == "__main__": 
    app.run() 
1

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

यदि आप Django के अलावा किसी अन्य चीज़ के साथ जाने का निर्णय लेते हैं तो this list का प्रयास करें और शायद आपको कुछ आसान लगेगा कि आप इसके बारे में अच्छा महसूस करेंगे। :)

0

हाँ WSGI ...

def hello_wsgi(environ, start_response): 
    start_response('200 OK', [('content-type', 'text/html')]) 
    return ['Hello world!'] 

आप webob कोशिश एक छोटे से प्राप्त करने के लिए आगे http से दूर अनुरोध/प्रतिक्रिया के संदर्भ में इस सार चाहते हैं।

from webob import Request, Response 

def hello_wsgi(environ, start_response): 
    request = Request(environ) 
    #do something with the request 
    #return a response 
    return Response("Hello World!")(environ, start_response) 
0

मैं कम से कम वेब ढांचे के रूप में bottle का उपयोग करता हूं। इसका उपयोग करना बहुत आसान है।

एक न्यूनतम उदाहरण के रूप में

- वेब साइट से लिया:

from bottle import route, run 

@route('/hello/:name') 
def index(name='World'): 
    return '<b>Hello %s!</b>' % name 

run(host='localhost', port=8080) 

आप कार्यों के लिए बस सहयोगी यूआरएल (मार्ग)। यह भी एक वैकल्पिक तर्क मिलता है। इसमें एक वैकल्पिक प्रकाश templating भाषा है, और आप हमारी जरूरतों के लिए इसे बहुत tweak कर सकते हैं। बहुत शक्तिशाली।

इंस्टाल करना भी बहुत आसान है - क्योंकि यह आपके ऐप के साथ खड़े एक फ़ाइल के रूप में आता है, और शुद्ध अनुपालन पायथन है। विकास मोड में रहते हुए मोडिफ़ पर एक अच्छा ऑटोरेलोड के साथ डीबग करना भी बहुत आसान है।

अंतिम फायदे के रूप में, यह आसानी से पाइप के नीचे चलता है - इस प्रकार अन्य ढांचे पर गति वृद्धि प्रदान करता है।

0

अब एक दिन फ़्यूज़न पैसेंजर स्टैंडअलोन या एनजीआईएनएक्स के साथ एक ही तकनीक का उपयोग करना बेहतर है क्योंकि PHP द्वारा पाइथन के लिए PHP और WSGI के मामले में प्रॉक्सी द्वारा इसे फास्टसीजीआई में पास किया जा रहा है।

यूआरएल और के लिए यात्री सभी विवरण पाया जा सकता है: Here

अजगर FastCGI से अधिक nginx पर चल रहा है, uWSGI या Passenger

चौखटे के बारे में के बारे में सभी जानकारी है कि आसान वेब विकास के लिए अजगर लपेट मैं Django की सिफारिश करते हैं यदि यह एक बड़ा एप्लीकेशन है और एक बार जब आप इसे लटका लेते हैं तो Django वास्तव में मुश्किल नहीं है।

शुभकामनाएं!

0

आप एपियर (https://github.com/hivesolutions/appier) आज़मा सकते हैं। यहां एक नमूना अनुप्रयोग है:

import appier 

class HelloApp(appier.App): 

    @appier.route("/", "GET") 
    def hello(self): 
     return "Hello World" 

HelloApp().serve() 

और यहाँ कैसे आप इसे चलाने के लिए:

pip install appier 
python hello.py 

अस्वीकरण: यह ढांचा मेरी कंपनी के ओपन-सोर्स पोर्टफोलियो का हिस्सा है। हमने अपने परामर्श कार्यों के लिए कोड को यथासंभव सरल और साफ करने के लिए ढांचा बनाया है (हमारी दक्षता में सुधार करने के लिए)। परियोजना बहुत सक्रिय है, क्योंकि हम हर समय ढांचे का उपयोग करते हैं, हालांकि, चेतावनी यह है कि हमने हाल ही में सार्वजनिक रूप से इसके बारे में बात करना शुरू कर दिया है, इसलिए इसके आसपास कोई समुदाय नहीं है। हालांकि, इसी कारण से, हम अपने दस्तावेज़ीकरण में सुधार और नई सुविधाओं को जोड़ने में प्रारंभिक पक्षी डेवलपर्स के साथ मिलकर सहयोग करने के लिए खुले हैं।

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