Mit Takashi Otaka, "Lernen durch Bewegen! Einführung in die Python Django-Entwicklung" Ich bin ein Anfänger, der angefangen hat, Python und Django zu lernen. Ich habe ungefähr 4 Monate lang Programmieren mit Ruby / Rails studiert. Als ich meinen Job als Ingenieur wechselte, entschied ich mich für Python und begann mit diesem Buch in einer Hand zu lernen. Da ich ein Amateur ohne Klasse bin, wäre ich Ihnen sehr dankbar, wenn Sie Ergänzungen und Vorschläge kommentieren könnten.
Wie die before_action, mit der ich die Rails-App erstellt habe, Fügen Sie vor der angegebenen Gesamtansicht einen festen Prozess ein. Ich wollte das auch mit Django machen.
Speziell,,,, Überprüfen Sie, ob die Sitzung einen bestimmten Wert hat, bevor Sie die Vorlage in der klassenbasierten generischen Ansicht anzeigen. → Ja: Anzeige wie sie ist → Keine: Zum Indexbildschirm umleiten Ich möchte es verarbeiten.
Wenn Sie bestätigen können, dass Sie mit @login_required angemeldet sind, Vielleicht kann ich etwas ähnliches machen ...? Nein, das geht nicht. ↓ Anscheinend ist "@ ~" ein Dekorateur. Und schließlich scheint es, dass Sie Ihre eigenen machen können.
Diesmal "ob die Sitzung einen bestimmten Wert enthält".
def is_hoge_in_session(func):
def hoge_checker(request):
if 'hoge' in request.session:
return func(request)
else:
return redirect("hogeApp:index")
return hoge_checker
In Bezug auf den Inhalt des Codes frage ich mich, ob die Erklärungen der großen Vorfahren leicht zu verstehen sind. ・ [Python] Erklärung der Dekorateure für Anfänger ・ Wie man Decorator in Django benutzt und wie man es macht
# method_Dekorateur importieren
from django.utils.decorators import method_decorator
、、、(Unterlassung)、、、
@method_decorator(is_hoge_in_session, name='dispatch')
class HogeFugaView(LoginRequiredMixin, generic.ListView):
、、、(Folgendes wird weggelassen)
Übrigens, wie man mit Funktionsdekoratoren in der klassenbasierten Ansicht umgeht Wir haben Weisheit von der folgenden Seite erhalten. [Django] Verwendung von Funktionsdekoratoren in klassenbasierten Ansichten
Zeit, die in der Taube weggeworfen wurde → 2 Stunden Impressionen: → Auch wenn Sie ein Anfänger sind, auch wenn Sie keinen Senior haben, der auf die Sprache, die Sie entwickeln, spezialisiert ist Gut, ich habe einen Google-Professor. Der Rest ist begeistert.
Recommended Posts