La dernière fois, j'ai pu implémenter la connexion et la déconnexion avec l'utilisateur de Django.
J'ai fait beaucoup de recherches pour étendre les informations utilisateur à partir de là, mais à la fin cela n'a souvent pas fonctionné.
Enfin, c'est un réglage qui donne l'impression d'être terminé.
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>famille apparentée</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>Écran de connexion</h1>
{% csrf_token %}
{{ form.as_p }}
<button>S'identifier</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>Écran d'accueil</title>
{% endblock header %}
{% block content %}
<body>
{% if user.is_authenticated %}
Hi {{ user.username }}!
<h2>{{ user.get_full_name }}</h2>
<ul>
<li>Nom: {{ user.username }}</li>
<li>Position: {{ user.profile.roll }}</li>
<li>Date d'embauche: {{ user.profile.nyushabi }}</li>
<li>Date de départ: {{ user.profile.taishabi }}</li>
<li>Ordre d'affichage: {{ user.profile.hyoujijyun }}</li>
<li>Salaire horaire: {{ user.profile.jikyu }}</li>
<li>Supprimer le drapeau: {{ user.profile.delete }}</li>
<li>Date d'enregistrement: {{ user.profile.create_date }}</li>
<li>Utilisateur enregistré: {{ user.profile.create_user }}</li>
<li>Mettre à jour la date et l'heure: {{ user.profile.update_date }}</li>
<li>Mettre à jour l'utilisateur: {{ 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 %}
Pour la première fois ici, j'ai fait mekumigrate.
Essayez de vous connecter en tant qu'utilisateur administrateur
Ajoutons les informations étendues à l'administrateur.
Et essayez de vous connecter
Oh, il semble que vous puissiez obtenir les informations ci-jointes
Ajoutez un utilisateur et voyez si cela fonctionne vraiment différemment.
J'essaye d'obtenir une autre information en ajoutant un président nommé Hanako ...
Je peux y aller.
Ce que j'ai remarqué ici ... Il peut être dupliqué car il existe un indicateur valide ou non valide dans l'élément standard de l'utilisateur. À l'avenir, il peut être supprimé car il est inutile.
Pour le moment, je vais continuer avec cela.
Eh bien, je ne sais pas ce que j'essayais de faire et je suis resté coincé dans la connexion (rires) Je me souviens, j'ai commencé à penser à créer un nouvel écran d'inscription du personnel, Si je peux m'inscrire et modifier sur l'écran de l'administrateur, je pense qu'il ne sera pas opérationnel pendant un certain temps. Je souhaite implémenter une fonction différente.
Recommended Posts