我需要通过AJAX请求POST数据到后端python函数(该数据将使用第三方python脚本处理)并在前端使用结果。目前,我正在使用django-tastypie API(我仅为模型使用ModelResource)。据我所知,我可以使用资源来实现这种行为,但我有点困惑,因为我不想保存或存储任何数据,我只是想在后端处理它。我应该使用django-tastypie还是选择另一种方法更好?django-tastypie usage without model
0
A
回答
1
您可以使用prepend_urls
这个
prepend_urls - >钩为默认网址前加上自己的网址或匹配。用于添加自定义端点或覆盖内置的端点。 Tastypie docs link
见下面代码
class YourModelResource(ModelResource):
class Meta:
queryset = YourModel.objects.all()
resource_name = 'your_model'
def prepend_urls(self):
return [
url(r"^(?P<resource_name>%s)/do_some_work%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('do_some_work'), name="api_do_some_work"),
]
def do_some_work(self, request, **kwargs):
self.method_check(request, allowed=['post'])
self.is_authenticated(request)
#Call the script and get the results
results = []
result_list = {
'results': results,
}
return self.create_response(request, result_list)
这里prepend_urls
方法被覆盖调用一个嵌套的资源do_some_work
。该URI这个电话会是这样
/api/v1/your_model/do_some_work/
以上方法建议,如果你要使用Tastypie其他明智Django的意见将是这种情况下最好的选择。
+0
非常感谢! – svfat
相关问题
- 1. ActiveForm without model yii2
- 2. Yii2 dropdownlist WITHOUT $ model
- 3. Carrierwave Temporary File Without Model
- 4. Nest Model save without parent
- 5. backbonejs view without a model
- 6. MVC部分视图[Display(Name =“”)] usage available without DisplayFor or EditorFor
- 7. Spark:Memory Usage
- 8. HABTM filter_or_create usage
- 9. Contract.Requires usage
- 10. NeutralResourcesLanguage Usage
- 11. CoReleaseMarshalData usage
- 12. SetThreadAffinityMask Usage
- 13. MagickQuantizeImage usage
- 14. Django admin list_display property usage
- 15. Structureton singleton usage
- 16. memory_get_peak_usage()with“real usage”
- 17. Xamarin android camera2 usage
- 18. FirebaseUI-iOS FUIIndexArray Usage
- 19. C Preprecessor Usage
- 20. Cabal usage(Haskell)
- 21. JSON :: XS“Usage”croak
- 22. Python i2c write_bus_data usage
- 23. Rolling File appender usage
- 24. native heap usage android
- 25. Spring- @ ControllerAdvice usage
- 26. AngularJS Factory Usage
- 27. three.js shadowCascade usage
- 28. RabbitMQ no ack usage
- 29. CakePHP displayField usage
- 30. NSFileManager fileExistsAtPath:isDirectory usage
你是说你把你的ajax发布到tastypie资源终结点?你只使用django视图还是只使用tastypie? –
@ShangWang我有django的意见和tastypie api。我不知道如何做得更好。 – svfat
如果你对tastypie不太熟悉,我认为把你的ajax数据发布到django视图就足够简单了。如果你不确定,有很多例子可以告诉你如何做到这一点。 –