Django http.request

Django, Flask, Bottle, WSGI, CGI…
Antworten
boxeur91
User
Beiträge: 2
Registriert: Samstag 23. April 2016, 18:22

Hallo Jungs bin neu hier und auch ein Programmier- Python- Anfänger.

Ich will eine App entwickeln die ein HTTP-POST Request abfängt und den Inhalt "XML" in einer Datenbank abspeichert.

Zu der Umgebung:
Ich habe einen Ubuntu Server mit Apache2, mod_wsgi für die Übergabe von Apache zum Python-Script und Django als Framework.
Als DB wird MySql gebraucht und die Schnittstelle zu Python ist PyMySQL.

So die Umgebung funktioniert.

Ich habe auch das Django-Tutorial gemacht. (Aber mein Englisch ist solala :( )

So zu meiner Frage, Ich will die die Request-methode, den Content-Type, die Content-Lenght und die Query-String überprüfen.

Das überprüfen der Request-Methode ist gegangen, aber das überprüfen der anderen Sachen funktioniert irgendwie nicht.
Habe die Funktion "checkcontent" auskommentiert.

Kann mir jemand erklären wie das Http.request.META funktioniert?

Code: Alles auswählen

from django.views.decorators.csrf import csrf_exempt
from django.shortcuts import render
from django.http import (
    HttpResponse, HttpResponseNotAllowed, HttpRequest,)


@csrf_exempt
# Check the HTTP Request Method
def app(request):
    if request.method != "POST":
        return HttpResponseNotAllowed(permitted_methods=('POST',))
    else:
        # checkcontent(request)
        return HttpResponse('OK')

“““
def checkcontent(request):
    if not 'application/xml' in request.meta['CONTENT_TYPE']:
        raise Exception("Invalid content-type. The expected request content-type is 'application/xml'")
“““


vielen Dank!

Boxeur91
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

boxeur91 hat geschrieben:So zu meiner Frage, Ich will die die Request-methode, den Content-Type, die Content-Lenght und die Query-String überprüfen.
Möchtest du das oder hast du nur ein Problem von dem du glaubst dass die Überprüfung Teil der Lösung ist? Wieso kommst du auf die Idee du müsstest diese Probleme lösen?

Du verwendest mit Django ein ziemlich großes Web Framework, lass dich darauf ein. Was die Request Methode angeht gibt es z.B. den require_POST Dekorator.
boxeur91
User
Beiträge: 2
Registriert: Samstag 23. April 2016, 18:22

Danke DasIch und Entschuldigung für die späte Reaktion. Also die Überprüfungen will ich gerne. Ich werde mich mal jetzt in Django einarbeiten. Sobald ich mehr weiss werde ich mich melden.

Danke Anas
Antworten