Django使用没有django形式的POST存储到数据库

时间:2016-01-09 18:42:58

标签: django post

我是Django的新人。 除了使用Django表单访问django数据库,我现在尝试使用 POST请求 来执行此操作。但它没有用,数据库没有数据存储。

在views.py

def event_join(request):
    print ("event_join")
    if request.method == 'POST':
        userID=request.GET['usrID']

        join_id = e_id
        usr = Usr.objects.get(usr_id=userID)
        if join_id in usr.join_ids.split(','):
         print "Joined already!"
        else:
            usr.join_ids += ',' + join_id
            usr.save()

            Event_member.objects.create(
                e_id = join_id,
                usr_id = userID,
                star_to_emer = 0,
                star_from_emer = 0,
            )

    return render(request, 'index.html', {
    'unfinished_events': Event.objects.filter(finish=0)})

按钮激活功能加入

var join = function() {
  console.log(userID);
  $.post('/event_join', {usrID:userID}, function(data) {});
}

在urls.py中 - urlpatterns

url(r'^event_join/$', views.event_join, name='event_join'),

1 个答案:

答案 0 :(得分:3)

您正在检查GET来电中的POST参数。至少修改你的代码:

userID = request.POST['usrID']

接下来,您发布到/event_join,但您的urls.py已配置为使用尾部斜杠^event_join/$处理路径。使它们保持一致。