これが簡単な django の方法です。しかし、Flask (およびbottleやweb.pyなどの他のもの) がタスクを達成する正しい方法であるため、@Blender の回答を実際に受け入れる必要があります。ご覧のとおり、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
ます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
ディレクトリ (タイプミスではなく、2 回あります) で、ファイルを開きます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/
フォームに入力します。