jquery - 如何在 Django 和 Jquery 中使用 model.Form 通过 Ajax 发送数据

标签 jquery ajax django modelform

嘿伙计们,你能帮我将帖子数据发送到表单吗?这是我所拥有的: 型号:

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/

相关文章:

javascript - 如何使用 PHP ajax JQUERY 创建 3 个依赖下拉列表?

python - Django:登录时调用一次函数

javascript - JQuery 复制输入值,跨度内有多个空格

c# - 如何记录提交表单的链接点击?

javascript - 切换按钮

javascript - jQuery 一次只显示一个 div

jquery - 发送 ID 但显示标签

php - 使用 Javascript 和 PHP 动态添加查询 XML 源的新表和行

django - 来自 rest_framework modelSerializer 的模型方法

python - Django 列表在 View 之间不会被破坏