我需要通過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視圖就足夠簡單了。如果你不確定,有很多例子可以告訴你如何做到這一點。 –