我是 Python 的新手,一般来说是编程,所以任何解释都应该用外行术语。
我创建了一个简单的脚本来读取 CSV 文件并输出结果。我想上传该脚本并将其作为简单的 Web 界面或 Web 应用程序在线运行。
我已经使用 Django 框架注册了 pythonanywhere.com。我在正确的轨道上吗?
谢谢。
我是 Python 的新手,一般来说是编程,所以任何解释都应该用外行术语。
我创建了一个简单的脚本来读取 CSV 文件并输出结果。我想上传该脚本并将其作为简单的 Web 界面或 Web 应用程序在线运行。
我已经使用 Django 框架注册了 pythonanywhere.com。我在正确的轨道上吗?
谢谢。
我可能有偏见,但我可以肯定地说,你在正确的轨道上!
听起来您希望人们能够上传 csv,然后您的网络应用程序将处理它并输出结果?如果是这样,请查看 Django 文档:
https://docs.djangoproject.com/en/1.3/topics/http/file-uploads/
FileField
没有什么太复杂的,如果你按照示例 创建一个 Django Form 对象。
from django import forms
class UploadFileForm(forms.Form):
file = forms.FileField()
然后将其放入您的网页或模板中,包括正确的enctype
:
<form enctype="multipart/form-data" method="post" action="/foo/">
{{form.as_p}}
</form>
最后,您在处理帖子的视图中处理它(使用表单操作中的 url):
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,它可以正常工作。如果您想保存文件以供以后使用,则必须添加一些代码来执行此操作。
希望有帮助。如果您还有任何问题,我们在这里!
作为一名PythonAnywhere开发人员,我会说你是从正确的地方开始的。我们确实尝试使事情尽可能简单。
您可以使用flask web 框架从一个更简单的应用程序开始。也有一个快速入门。下面是一个非常简单的烧瓶应用程序,在访问时会返回一些输出。此代码将进入\var\www\your_username_pythonanywhere_com_wsgi.py
文件。
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 服务提供的最简单的单一文件方式。我会说首先让它发挥作用,然后您就可以开始扩展您的知识并添加功能。