63일차

●63일차(20250314063.php)
templates/footer.html flask에서 가져오자

base.html에서 수정

{{ "{% endblock %}" }}

{{ "% include 'footer.html' %}" }}

sql 파일을 드래그해서 Run SQL Script 클릭
> script가 뜨는데 insert 부분만 복사해서 2개만 명령어 입력

INSERT INTO `SystemEvents` VALUES
(1,NULL,'2025-01-07 14:44:02','2025-01-07 14:43:32',3,6,'master.jeonjucom.kr',' sda: failed to get udev uid: Invalid argument',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'multipathd[802]:',NULL,NULL,NULL),
(2,NULL,'2025-01-07 14:44:02','2025-01-07 14:43:32',3,6,'master.jeonjucom.kr',' sda: failed to get sysfs uid: Invalid argument',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'multipathd[802]:',NULL,NULL,NULL),
> 해주고 서버 켜주면 넣어준 데이터베이스가 들어가있다

openstack 경로 > 로그인
> http://127.0.0.1:8000/admin/login/?next=/admin/
> 만들지 않았는데도 로그인 페이지가 나온다
> 이미 데이터베이스 테이블과 로그인 페이지가 만들어져 있는것

python manage.py createsuperuser
> admin
> enter
> 123456
> y
> 로그인을 해주면 들어가진다

#로그인 기능 구현하기
로그인,로그아웃을 쉽게 구현할 수 있는 django.contrib.auth 앱을 제공함
common을 이용할 예정
django-admin startapp common

[config/settings.py]
'common.apps.CommonConfig',

[config/urls.py]
path('common/',include('common.urls')),

[common/urls.py]

from django.contrib import admin
from django.urls import path, include
from . import views

app_name='common'

urlpattern=[
   path('login/',auth_views.LoginView.as_view(),name='login'),
]
[base.html]

{{ "% url 'common:login' %} " }}


> 로그인 링크에 넣어주기
> registration/login.html를 만들라고 함
> 내 맘대로 바꿀거임

path('login/',auth_views.LoginView.as_view(template_name='common/login.html'),name='login'),
> 수정

commin/login.html
> flask login 코드 붙혀넣기
> flask 처럼 로그인 화면이 나옴
<form class="user" method="post" action="{% url 'common:login' %}">

{{ "% csrf_token %}" }}

> 추가 해줌

[common\urls.py]
path('logout/',auth_views.LogoutView.as_view(),name='logout'),

[config\settings.py]
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
> 추가
[base.html]
> if user.is_authenficated를 이용해서 로그인을 하면 마이페이지, 세팅, 로그, 로그아웃이 보이게 설정하고
> 로그인이 되어있지 않다면 로그인, 회원가입이 뜰 수 있게 설정

[config\settings.py]


INSTALLED_APPS = [
	'init.apps.InitConfig'

django-admin startapp init
[config\urls.py]

urlpatterns = [
	path('', include('init.urls')),
[init\urls.py]

from django.urls import path
from init import views

app_name='init'

urlpatterns=[
   path('',views.index,name='index'),
]
[init\views.py]

from django.shortcuts import render

def index(request):
	return render(request,'init/index.html')
[templates\common\login.html]
csrf 코드 뒤에 추가

{{ "{% include "form_errors.html" %}" }}


[template/form_errors.html]


{{ "{% if form.errors %}" }}

{{ "{% for field in form %}" }}

{{ "{% for error in field.errors %}" }}

<div class="alert alert-danger"> <strong<{{field.label}}</strong< {{error}} </div<

{{ "{% endfor %}" }}

{{ "{%endfor%}" }}

{{ "{%endif%}" }}

+)추가에러
> security 앱 네임 지정 안해줌

[security\urls.py]

from django.urls import path
from . import views

app_name = 'security'  # 네임스페이스 지정

urlpatterns = [
    path('index/', views.index, name='index'),  # URL에 이름을 지정
]
> 수정해줌

[security\views.py]
함수 위에
@login_required(login_url='common:login')
> 추가
> 로그인을 안한 상태로 syslog를 누르면 로그인하라고 함