这是简单的 django 方法;但你真的应该接受@Blender 的回答,因为 Flask (以及其他像bottle和web.py)是完成你的任务的正确方法。正如您将看到的,django 中的简单方法涉及的内容要多得多。
首先,下载并安装django。
然后,启动一个新项目并向其中添加一个新应用程序。然后创建一个forms.py
将保存您的表单:
$ django-admin.py startproject simple_foo
$ cd simple_foo
~/simple_foo $ python manage.py startapp form_processor
~/simple_foo $ cd form_processor
~/simple_foo/form_processor $ vi forms.py
添加forms.py
这个并保存文件并关闭您的编辑器:
from django import forms
class MyForm(forms.Form):
name = forms.CharField(label='Your Name:')
接下来,我们创建视图。打开目录中现有views.py
的form_processor
并添加:
from django.shortcuts import render
from form_processor.forms import MyForm
def home(request):
if request.method == 'POST':
f = MyForm(request.POST)
if f.is_valid():
return render(request,'results.html',{'result':f.cleaned_data['name']})
else:
return render(request,'index.html',{'form': f})
else:
return render(request,'index.html',{'form':MyForm()})
最后,创建您的模板。创建一个名为templates
in的目录form_processor
。在此目录中,创建一个results.html
并在其中键入You entered {{ result }}
并保存文件。创建另一个index.html
并在其中添加:
<form method="POST" action=".">
{% csrf_token %}
{{ form }}
<input type="submit" />
</form>
至此,您的应用程序已完成。接下来的步骤告诉 django 您的应用程序并将其连接到一个 url。
在simple_foo/simple_foo
目录中(这不是错字,它有两次),打开settings.py
文件。
向下滚动到INSTALLED_APPS
并添加您的新应用程序,它应该如下所示:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
'form_processor',
)
关闭并保存此文件。在同一simple_foo/simple_foo
目录中,打开urls.py
. 取消注释下面的第一行# Examples:
并将其更改为如下所示:
url(r'^$', 'form_processor.views.home', name='home'),
保存此文件。
现在你完成了。剩下的就是运行内置的 Web 服务器:
burhan@sandbox:~/simple_foo$ python manage.py runserver
Validating models...
0 errors found
Django version 1.4, using settings 'simple_foo.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
打开浏览器http://127.0.0.1:8000/
并填写表格。