首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在线运行python脚本(django)

在线运行python脚本(django)
EN

Stack Overflow用户
提问于 2013-01-04 08:20:26
回答 2查看 4.2K关注 0票数 7

我对Python和一般的编程都是新手,所以任何解释都应该用Layman术语。

我已经创建了一个简单的脚本来读取CSV文件并输出结果。我想上传该脚本,并让它作为一个简单的网络界面或网络应用程序在线运行。

我已经使用Django框架注册了pythonanywhere.com。我是不是走对了路?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-01-04 16:55:26

我可能有偏见,但我会说,你是在正确的轨道上!

这听起来像是你希望人们能够上传csv,然后你的web应用程序将处理它并输出结果?如果是这样,请查看Django文档:

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

如果您按照示例使用FileField创建一个Django Form对象,就不会太复杂。

代码语言:javascript
复制
from django import forms

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

然后将其放入您的网页或模板中,包括正确的enctype

代码语言:javascript
复制
<form enctype="multipart/form-data" method="post" action="/foo/">
{{form.as_p}}
</form>

最后,在处理post的视图中处理它(使用表单操作中的url ):

代码语言:javascript
复制
def handle_csv_upload(request):
    form = UploadFileForm(request.POST, request.FILES)
    if form.is_valid():
        results = do_my_csv_magic(request.FILES['file'])
        # now eg save the results to the database, and show them to the user
        db_entry = MyCSVResults(results=results)
        db_entry.save()
        # it's good practice to use a redirect after any POST request:
        return HttpResponseRedirect('/show_results/%d/' % db_entry.id)

除此之外,在PythonAnywhere上不需要特殊的配置。该文件被(临时)保存到/tmp,它将正常工作。如果您想要保存该文件以备以后使用,则必须添加一些代码来完成此操作。

希望这能有所帮助。如果你有更多的问题,欢迎光临!

票数 8
EN

Stack Overflow用户

发布于 2013-01-04 16:53:52

作为一名PythonAnywhere开发人员,我想说您已经从正确的地方开始了。我们确实试着让事情变得尽可能简单。

您可以通过使用flask web framework从一个更简单的应用程序开始。这也是一个快速入门的方法。下面是一个非常简单的flask应用程序,它将在访问时返回一些输出。此代码将放入\var\www\your_username_pythonanywhere_com_wsgi.py文件中。

代码语言:javascript
复制
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()

这是将少量数据作为web服务提供的最简单的单文件方式。我会说,首先让它工作,然后你就可以开始扩展你的知识和添加功能。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14149404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档