私はDjango RESTフレームワークを使用してJSONでデータを利用できるようにし、AJAX経由でページを更新するために使用します。ページが更新されているURLをデータで保護し、誰もAPI URLにアクセスできないようにするにはどうすればよいですか。 URLはAJAXのhtmlで見ることができるのでアクセスすることができますが、トークンやその他の適切な認証でアクセスできないようにしたいと考えています。API URLを確保するためにDjangoでAJAXを使用してトークン認証を設定する方法
URLが '/ API /項目/' である(AJAXコードで参照されたい)(API)で
serializers.py
from rest_framework import serializers
from .models import Item
class ItemModelSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = [
'title',
'value',
]
views.py
from rest_framework import generics
from .serializers import ItemModelSerializer
from .models import Item
class ItemListAPIView(generics.ListAPIView):
serializer_class = ItemModelSerializer
def get_queryset(self):
return Item.objects.all().order_by('sort')
のURL .py
urlpatterns = [
#...urls...
url(r'^api/item/', include('apps.item.api.urls', namespace='api-item')),
url(r'^admin/', admin.site.urls),
]
テンプレート - ajax
setInterval(function() {
$.ajax({
method: "GET",
url: "/api/item/",
success: function(data) {
$("#items tbody").empty();
$.each(data, function (key, value) {
var itemKey = key;
var itemTitle = value.title;
var itemValue = value.value;
$("#items tbody").append(
"<tr><td class='left'>" + itemTitle + "</td><td>" + itemValue</td></tr>"
)
})
},
error: function(data) {
console.log("error")
console.log(data)
}
})
}, 3000)
についてはこちらをご覧ください - それは私の正確なポイントです - どのようにDjango、AJAX、JSでGET要求を確保するためには、そのWebサイトだけが他の誰も使用できませんか? – Radek