Sto cercando di imparare django così mentre ho una soluzione corrente non sono sicuro che segua le migliori pratiche in django. Mi piacerebbe visualizzare le informazioni da una web api sul mio sito web. Diciamo che l'url api è la seguente:Modo corretto di utilizzare i dati dall'API RESTFUL in django
http://api.example.com/books?author=edwards&year=2009
Thsis restituirebbe una lista di libri da Edwards scritti nel 2009. Tornato nel seguente formato:
{'results':
[
{
'title':'Book 1',
'Author':'Edwards Man',
'Year':2009
},
{
'title':'Book 2',
'Author':'Edwards Man',
'Year':2009}
]
}
Attualmente sto consumando l'API nel mio punto di vista file come segue:
class BooksPage(generic.TemplateView):
def get(self,request):
r = requests.get('http://api.example.com/books?author=edwards&year=2009')
books = r.json()
books_list = {'books':books['results']}
return render(request,'books.html',books_list)
Normalmente, afferrare i dati dal database nel file models.py, ma non sono sicuro se devo afferrando questi dati API in models.py o views.py. Se dovrebbe essere in models.py, qualcuno può fornire un esempio di come farlo? Ho scritto l'esempio di cui sopra in modo specifico per StackOverflow, quindi qualsiasi bug è puramente un risultato della sua scrittura qui.
Dai un'occhiata a Django Rest Framework. – alexhb
Non è quello per la costruzione di web apis? Sto provando a leggere da uno esterno. – user2694306