0
我想要做的是,當用戶點擊span中包含的圖標時,我通過javascript添加作者的字段。但問題是,在表單提交時通過javascript添加的字段既不是在表單對象中,也不是在request.POST對象中獲得的。 我有兩個問題,主要是:通過JavaScript添加提交通過JavaScript添加到請求對象的字段
- 我希望能夠到值傳遞給在地裏的服務器,並能夠訪問他們在views.py
- 我也想知道如果有一些更好的方法來做到這一點。
views.py
def addbook(request):
if request.method=='POST':
print(request.POST)
form=BookForm(request.POST)
# process accordingly.
else:
form = BookForm()
return render(request,'book.html',{'form':form})
forms.py
class BookForm(forms.Form):
author_name=forms.CharField(max_length=20)
book.html
<form action='' method="POST">
<div id='authorfield'>{{ form.author_name }}</div>
<a href='#'><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a>
</form>
book.js
$('span').click(function(e) {
e.preventDefault();
$("#authorfield").after(" <div><input type='text' class='form-control' placeholder='Author name'></div>");
});
我希望能夠爲用戶想要的author_name具有儘可能多的字段(也可能有多個作者)並且添加名稱字段也是一個問題,因爲名稱必須是唯一的,並且用戶添加了兩個字段將會有相同的名字。 另外,如果我添加名稱屬性,我將能夠在views.py中訪問它呢? –
聽起來像你真的在尋找[formsets](https://docs.djangoproject.com/en/1.9/topics/forms/formsets/)。 –
「我希望能夠爲用戶需要的author_name提供儘可能多的字段(也可能有多個作者)」=>那麼你的模型是錯誤的 - 你應該有一個'Author'模型和一個多對多與'Book'的關係。 –