私はDjangoを初めて使いました。このフォームをPOSTにしようとしています。フォームに関するドキュメントを読んだことがありますが、form.pyファイルを作成すると、Jqueryの日付ピッカーを実装する方法やメニューをドロップする方法がわからないため、少し混乱します。HTMLテンプレートを使用したDjangoフォーム
私はテンプレートを作成しました。私はそれにアクセスすることができ、私が望む方法を正確にフォーマットしますが、POSTにどのように取得するのか練習できません。考え方は、フォーム内のデータを取り出し、それをPostgresテーブルに挿入することです。
{% extends 'website/header.html' %}
{% block content %}
<p><b>Submit Job</b></p>
<form action="" method="post">
{% csrf_token %}
<b>Select Asset to transcode</b>
<p>Material ID:
<input type="text" name="material_id" size="30" value="" id="keyword"/>
</p>
<p>Profile:
<select name="workflow">
<option value="">Select a transcode Profile</option>
{% for i in object_list %}
<option value="{{ i.name }}">{{ i.name }}</option>
{% endfor %}
</select>
</p>
<script>
$(function() {
$("#start_datepicker").datepicker({
dateFormat: 'dd-mm-yy'
});
});
</script>
<p>License Start Date: <input type="text" id="start_datepicker" name="start_date"></p>
<script>
$(function() {
$("#end_datepicker").datepicker({
dateFormat: 'dd-mm-yy'
});
});
</script>
<p>License End Date: <input type="text" id="end_datepicker" name="end_date"></p>
<p>
<input type="submit" name="submit" />
</p>
</form>
{% endblock %}
Views.pyここ
from django.shortcuts import render
def submit(request):
if request.method == 'POST':
material_id = request.POST['material_id']
workflow = request.POST['workflow']
start_date = request.POST['start_date']
end_date = request.POST['end_date']
return render(request, 'submit/submit.html')
else:
return render(request, 'submit/submit.html')
私はエラーになっていているテンプレートsubmit.py:
Method Not Allowed (POST): /submit/
[08/Feb/2017 17:28:49] "POST /submit/ HTTP/1.1" 405 0
私が間違って何をしているのですか?あなたのurls.pyファイルが何かを持っていることurl.py
from django.conf.urls import url
from django.views.generic import ListView
from asset_db.models import Profiles
urlpatterns = [
url(r'^$', ListView.as_view(queryset=Profiles.objects.all().order_by("id"), template_name='submit/submit.html')),
]
助けてくれてありがとう、本当に私は何をする必要があるか理解してくれました。 – Lewis909