嘿伙计们,你能帮我将帖子数据发送到表单吗?这是我所拥有的: 型号:
class Test (models.Model):
text = models.TextField(blank=True, max_length=300)
浏览次数:
def post_test(request):
print 'aesewewewew'
if request.is_ajax():
print 'ajax'
form = TestForm(request.POST)
if form.is_valid():
form.save()
return HttpResponse('success')
else:
return HttpResponse('failed')
else:
print 'aaaaa'
模板:
<div id="post"></div>
<a href="/" onclick=click()>Post</a>
<script>
function click(){
$.post("/post", {
text: "eqweqeqeqweqw"
},
function(data) {
alert(data);
}
)};
网址:
(r'^post','test_propject.main.views.post_test'),
形式:
class TestForm (forms.ModelForm):
class Meta:
model = Test
这对我不起作用。我在这里找不到错误。您能否提供一个可能指向工作代码的链接。获取请求工作正常。也许存在某种方法来制作简单的表单,该表单是从模型创建的,通过 ajax 发送数据,而无需重新加载页面。
谢谢
最佳答案
试试这个:
def post_test(request):
if request.method == 'POST':
form = TestForm(request.POST)
if form.is_valid():
form.save()
return HttpResponse('success')
else:
return HttpResponse('failed')
强烈建议您学习教程here在执行上述操作之前..
编辑: 你的 urls.py 应该看起来像这样:
from django.conf.urls.defaults import *
from test_project.main.views import post_test
urlpatterns = patterns('',
url(r'^post/$', post_test, name = 'post_test'),
)
还有你的模板:
<script>
function click(){
$.post('{% url post_test %}', {
text: "eqweqeqeqweqw"
}
)};
</script>
请注意,{% url post_test %} 在外部 js 文件中不起作用。
关于jquery - 如何在 Django 和 Jquery 中使用 model.Form 通过 Ajax 发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812774/