In meinem Projekt versuche ich eine URL (die in demselben Projekt läuft) aus meiner Sicht zu treffen.Alternative von Anfragen in Django
so auf einfachste Weise kann ich hier erklären.
@login_required
def my_api_view(request):
if requests.method == 'GET':
# do stuff
return JsonResponse()
# and its url is `/api/get-info/`
eine andere Ansicht, die
oben api raubend ist@login_required
def show_info(request):
url = get_base_url + /api/get-info/ # http://localhost:8000/api/get-info/
r = requests.get(url)
return HttpResponse(r.json())
Jetzt muss ich derselben Sitzung verwenden (Anmeldung erforderlich) so, wenn ich die URL getroffen requests
benutze es, dass Benutzer beschwert ist eingeloggt hat nicht die offensichtlich ist richtig.
Wie kann ich das elegant und effizient machen? Sitzungsnutzung des angemeldeten Benutzers. (Ich möchte nicht die Ansicht als Funktion aufzurufen, ich möchte die api-URL Endpunkt schlagen und zu konsumieren
PS:. Wir etwas Ähnliches in django-Test haben self.client.get(...)
Warum versuchen Sie, HTTP zu verwenden, anstatt nur die andere Ansichtsfunktion direkt aufzurufen? Oder noch besser, warum sollte man die Logik nicht in eine separate Funktion/Methode/was auch immer von beiden Ansichten genannt werden? – koniiiik