Ich habe verschiedene Dinge aus der Funktion heraus recherchiert, aber ich habe es durch Nachahmung gemacht, weil es schwierig wurde, nur einen Anmeldebildschirm zu erstellen. Ich habe das Projekt jedoch von Grund auf neu erstellt (lacht)
Die Prozedur wurde fast auf die gleiche Weise aus der Referenzquelle erstellt! Großartiger Artikel
Diese Art von Artikel ist hilfreich, da Django immer noch wenig japanische Informationen hat. Dann denke ich, es ist Ruby ... Ich habe mich nur für Python entschieden, weil ich die Zukunft nicht kannte
Referenzquelle https://intellectual-curiosity.tokyo/2018/11/13/django%E3%81%AE%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E5%87%A6%E7%90%86%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E2%91%A0/
Die Seite hier war die beste!
Ich habe einen Anmeldebildschirm erstellt, indem ich dieses Verfahren befolgt habe.
Wenn Sie sich anmelden
Wenn Sie sich abmelden, kehren Sie zum Anmeldebildschirm zurück.
Wenn Sie nicht angemeldet sind, müssen Sie zum Anmeldebildschirm zurückkehren.
Ich werde den Code schreiben
python:accounts.urls.py
from django.conf.urls import url
from django.contrib.auth import views as auth_views
from . import views
from django.urls import path, include
app_name = 'accounts'
urlpatterns = [
path('login/', auth_views.LoginView.as_view(template_name='accounts/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
path('home/', views.home, name="home"),
]
python:accounts.views.py
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
@login_required
def home(request):
return render(request, 'accounts/home.html')
python:config.setting.py
LOGIN_REDIRECT_URL = '/accounts/home'
LOGOUT_REDIRECT_URL = '/accounts/home'
hinzufügen
templates/accounts/base.html
<!doctype html>
<html lang="ja">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
{% block customcss %}
{% endblock customcss %}
<title>verwandte Familie</title>
</head>
<body>
{% block header %}
{% endblock header %}
{% block content %}
{% endblock content %}
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
</body>
</html>
HTML für die Anmeldung
templates/accounts/login.html
{% extends 'accounts/base.html' %}
{% load static %}
{% block customcss %}
<link rel='stylesheet' type='text/css' href="{% static 'css/accounts/style.css' %}">
{% endblock customcss %}
{% block header %}
{% endblock header %}
{% block content %}
<body>
<form class="form-login" action='' method='POST'>
<h1>Anmeldebildschirm</h1>
{% csrf_token %}
{{ form.as_p }}
<button>Einloggen</button>
<p class="mt-5 mb-3 text-muted">©GK</p>
</form>
</body>
</html>
{% endblock content %}
templates/accounts/home.html
{% extends 'accounts/base.html' %}
{% load static %}
{% block customcss %}
<link rel='stylesheet' type='text/css' href="{% static 'css/style.css' %}">
{% endblock customcss %}
{% block header %}
<title>Startbildschirm</title>
{% endblock header %}
{% block content %}
<body>
{% if user.is_authenticated %}
Hi {{ user.username }}!
<p><a href="{% url 'accounts:logout' %}">logout</a></p>
{% else %}
<p>You are not logged in</p>
<a href="{% url 'accounts:login' %}">login</a>
{% endif %}
</body>
{% endblock content %}
Der Anmeldebildschirm ist jetzt implementiert. Von nun an werde ich untersuchen, wie Informationen mit Benutzer- und Mitarbeiterinformationen verknüpft werden, die ich ursprünglich tun wollte.
Recommended Posts