2013-01-04 12 views
7

Python'da yeni ve genel olarak programlama yapıyorum, bu nedenle Layman terimleri açıklanmalı.Python komut dosyasını çevrimiçi çalıştırın (django)

CSV dosyalarını ve çıktı sonuçlarını okuyan basit bir komut dosyası oluşturdum. Bu komut dosyasını yüklemek ve çevrimiçi bir web arayüzü veya web uygulaması olarak çalıştırmak istiyorum.

Django çerçevesini kullanarak pythonanywhere.com'a kaydoldum. Burada doğru yolda mıyım?

Teşekkürler.

+1

Sorunuz biraz fazla belirsiz. İstenen bir cevabın ne olacağı belli değil. Muhtemelen Django'yu kontrol etmek istersiniz, ancak pythonanywhere muhtemelen web sunucusunu çalıştırmak için doğru yer değil. – jterrace

+0

bu yardımcı olabilir: https://scraperwiki.com/ –

+2

Eğer pythonanywhere kullanıyorsanız, diyebilirim. Bu etiketi eklemelisiniz, siteden biri gelip size daha fazla öneri ve ipucu verecektir. – Droogans

cevap

4

PythonAnywhere dev olarak doğru yerde başladığınızı söyleyebilirim. Mümkün olduğunca basit şeyler yapmaya çalışıyoruz.

flask web framework'u kullanarak daha basit bir uygulama ile başlayabilirsiniz. Bunun için de bir hızlı başlangıç ​​var. Aşağıda ziyaret edildiğinde bazı çıktılar verecek çok basit bir flask uygulaması. Bu kod \var\www\your_username_pythonanywhere_com_wsgi.py dosyasına gider.

import os 
import sys 
from flask import Flask 

app = Flask(__name__) 
app.debug = True 


path = '/home/your_username/' 
if path not in sys.path: 
    sys.path.append(path) 

from my_script import function_that_parses_csv 

@app.route('/') 
def root(): 
    return function_that_parses_csv() 

Bu, web hizmeti olarak biraz veri sunmanın en basit, tek dosya yoludur. Bunu işe başlatarak başla diyebilirim ve sonra bilginizi genişletmeye ve özellikler eklemeye başlayabilirsiniz.

+0

Yani kahvaltıda SO sorularına cevap veriyorsun, ha?:) – hwjp

+2

Elbette, ve bu sinir bozucu çocuklar için olmasaydı, ben de onunla beraber giderdim. – aychedee

8

Önyargılı olabilirim ama eminim, doğru yoldasınız!

İnsanların bir csv yükleyebilmesini istediğiniz gibi geliyor, sonra web uygulamanız bunu işleyecek ve sonuçları çıktı alacak mı? Eğer öyleyse, Django docs göz atın:

https://docs.djangoproject.com/en/1.3/topics/http/file-uploads/

Hiçbir şey çok karışık, örneğin gereği bir FileField ile Django Form nesnesi oluşturursanız.

<form enctype="multipart/form-data" method="post" action="/foo/"> 
{{form.as_p}} 
</form> 

Son olarak, formundan url ile (yazı kolları senin görünümünde onunla başa:

from django import forms 

class UploadFileForm(forms.Form): 
    file = forms.FileField() 

Daha sonra doğru enctype dahil web sayfası veya şablon, koydu eylem): PythonAnywhere'de, özel bir yapılandırma gerekmez. Bunun yanı sıra, bir başka özel yapılandırma gerekli değildir. Dosya, (geçici olarak)/tmp'ye kaydedilir, bu da iyi çalışır. Dosyayı daha sonra kaydetmek istiyorsanız, bunu yapmak için bir kod eklemeniz gerekir.

Bu yardımcı olur umarım. Başka sorunuz varsa buradayız!