通过API调用Django函数可以吗?

时间:2020-11-05 18:58:42

标签: django vue.js django-rest-framework

我正在构建一个项目,现在我是VueJS的新手,我正在学习它。我发现您可以使用axios在API上发出HTTP请求。为了简化我的项目,我可以通过axios在我的views.py上调用函数吗?

就像我在urls.py中获取url一样,以在后端执行一些功能。

可以吗?我指的是安全性和最佳做法。等

谢谢

2 个答案:

答案 0 :(得分:2)

当然可以,这就是Django的用途:

urls.py:

urlpatterns = [
    ...
    path('my_view_function/', views.my_view_function, name='my_view_function'),
    ...
]

views.py:

def my_view_function(request):

    # unpack data:
    my_value = request.GET['my_key']

    # some logic:
    ...

    # pack response:
    response = json.dumps({
        'some_other_key' : 'some_other_value'
    })

    return HttpResponse(response)

答案 1 :(得分:0)

另一种选择是您在django中使用信号,前一段时间我使用了信号,当创建没有字段的新记录时,它将用您想要的算法完成,例如订单,并自动放置代码,当您想要更准时的功能时,只能通过指向模型来应用它。

@receiver(pre_save, sender=MyModel)
def my_handler(sender, **kwargs):
    ...

my_handler函数仅在保存 MyModel实例时调用。

如果您要查看文档,请在此处留下

https://docs.djangoproject.com/en/3.1/topics/signals/