从html调用Django函数

时间:2014-07-07 17:31:50

标签: python django python-2.7 django-forms django-views

我在html按钮的视图中运行函数时遇到问题,但代码似乎是正确的,所以如果有人知道我错过了什么,我会非常感激。最终目标是开始芹菜任务,如果有更好的方法,请告诉我。

template.html:

<form action="{% url 'save' pk=project.id %}" method="POST">
        {% csrf_token %}
            <button id="saveChanges" type="submit" class="btn btn-primary btn-sm">Save</button>
        </form>

urls.py:

urlpatterns = patterns('',
    ....
    url(r'^manage/save(?P<pk>\d+)/$', 'myapp.views.Save', name="save"),
    ....)

views.py

def Save(request, pk):
   if request.method == 'POST':
       project = Project.objects.get(id = pk)
       ....
       task.delay(project.id)
   return HttpResponse('OK', status=200)

2 个答案:

答案 0 :(得分:0)

@DoctorWizard使用manage.py runserver运行您的服务器 - 日志将在同一终端上。

答案 1 :(得分:0)

您的网址格式使用的是命名组,它会将关键字参数传递给视图。你的观点只接受位置论证。

将网址格式更改为r'^manage/save(\d+)/$'(您想要save后的斜杠吗?)

OR

将视图参数更改为def Save(request, pk=None):def Save(request, **kwargs):,然后从pk拉出kwargs

https://docs.djangoproject.com/en/1.6/topics/http/urls/#named-groups