Beim letzten Mal konnte ich die An- und Abmeldung mit dem Benutzer von Django implementieren.
Ich habe viel recherchiert, um die Benutzerinformationen von dort aus zu erweitern, aber am Ende hat es oft nicht funktioniert.
Schließlich ist es eine Einstellung, die sich wie getan anfühlt.
config/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts.apps.AccountsConfig',
]
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
STATIC_URL = '/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
LOGIN_REDIRECT_URL = '/accounts/home'
LOGOUT_REDIRECT_URL = '/accounts/home'
#AUTH_USER_MODEL = 'users.CustomUser'
settings/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('accounts.urls')),
]
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"),
]
accounts/views.py
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
# Create your views here.
@login_required
def home(request):
return render(request, 'accounts/home.html')
accounts/admin.py
from django.contrib import admin
from .models import Profile
# Register your models here.
admin.site.register(Profile)
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>
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 }}!
<h2>{{ user.get_full_name }}</h2>
<ul>
<li>Name: {{ user.username }}</li>
<li>Position: {{ user.profile.roll }}</li>
<li>Anstellungsdatum: {{ user.profile.nyushabi }}</li>
<li>Austrittsdatum: {{ user.profile.taishabi }}</li>
<li>Bestellung anzeigen: {{ user.profile.hyoujijyun }}</li>
<li>Stundenlohn: {{ user.profile.jikyu }}</li>
<li>Flag löschen: {{ user.profile.delete }}</li>
<li>Eingetragenes Datum: {{ user.profile.create_date }}</li>
<li>Registrierter Nutzer: {{ user.profile.create_user }}</li>
<li>Datum und Uhrzeit aktualisieren: {{ user.profile.update_date }}</li>
<li>Benutzer aktualisieren: {{ user.profile.update_user }}</li>
</ul>
<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 %}
Zum ersten Mal hier bin ich mekumigriert.
Versuchen Sie, sich als Administrator anzumelden
Fügen wir die erweiterten Informationen dem Administrator hinzu.
Und versuchen Sie sich anzumelden
Oh, es sieht so aus, als könnten Sie die angehängten Informationen erhalten
Fügen Sie einen Benutzer hinzu und prüfen Sie, ob dies wirklich anders funktioniert.
Ich versuche, weitere Informationen zu erhalten, indem ich einen Präsidenten namens Hanako hinzufüge ...
Ich kann gehen.
Was mir hier aufgefallen ist ... Es kann dupliziert werden, da das Standardelement des Benutzers ein gültiges oder ungültiges Flag enthält. In Zukunft wird es möglicherweise gelöscht, da es nicht erforderlich ist.
Ich werde vorerst damit fortfahren.
Nun, ich weiß nicht, was ich versucht habe und bin beim Login hängen geblieben (lacht) Ich erinnere mich, dass ich darüber nachdachte, einen neuen Bildschirm für die Mitarbeiterregistrierung zu erstellen. Wenn ich mich auf dem Administratorbildschirm registrieren und bearbeiten kann, ist er meiner Meinung nach für eine Weile nicht betriebsbereit. Ich möchte eine andere Funktion implementieren.