๋ชฉ์ฐจ
728x90
๋ก๊ทธ์ธ/์์ ๊ตฌํ
1. urls.py
์ดํ๋ฆฌ์ผ์ด์ ์ ์ข ์๋๋ ๊ฒ์ด ์๋๋ฏ๋ก ํ๋ก์ ํธ์ urls.py์ ํจํด์ ์ถ๊ฐํ๋ค.
from django.contrib import admin
from django.urls import include, path
from django.contrib.auth import views
urlpatterns = [
path(r'^admin/', admin.site.urls),
path(r'^accounts/login/$', views.LoginView.as_view(template_name="registration/login.html"), name='login'),
path(r'^accounts/logout/$', views.LogoutView.as_view(template_name="registration/logout.html"), name='logout', kwargs={'next_page': '/'}),
path(r'', include('blog.urls')),
]
์ฐ์ฌ ๊ณก์ ๋์ stackoverflow์์ ๋ต์ ์ฐพ์๋ค.
from django.contrib.auth import views
path(r'^accounts/login/$', views.LoginView.as_view(template_name="registration/login.html"), name='login'),
path(r'^accounts/logout/$', views.LogoutView.as_view(template_name="registration/logout.html"), name='logout', kwargs={'next_page': '/'}),
login/out์ ๋ทฐ ํจ์๋ฅผ ์์ ๊ฐ์ด ์ ๊ทผํด์ฃผ์ด์ผํ๋ค.
2. views.py
- ๋ด์ฅ ํจ์๋ฅผ ์ด์ฉํ๋ค.
- ๊ธฐ์กด์ ์๋ ํจ์๋ค์ ๋ก๊ทธ์ธ ๊ถํ์ด ์์ ๊ฒฝ์ฐ์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก
decorator๋ฅผ ์ด์ฉํด ๋ณดํธํ ์ ์๋ค.
from django.contrib.auth.decorators import login_required
@login_required
def ...
3. template
template ํด๋์ registration์ด๋ผ๋ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ
๊ทธ ์์น์ ์๋ก์ด ํ์ผ์ ์์ฑํด์ฃผ์๋ค.
login
{% block content %}
{% if form.errors %}
<p>์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ์ง ์์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.</p>
{% endif %}
<form class="login-container" method="post" action="{% url 'login' %}">
{% csrf_token %}
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>
</tr>
</table>
<label class="login-btn-container">
<input class="login-btn" type="submit" value="Login" />
<i class="fas fa-sign-in-alt"></i>
</label>
<input type="hidden" name="next" value="{{ next }}" />
</form>
{% endblock %}
logout
- ํ ํ๋ฆฟ์ด ํ์ํ์ง ์๋ค.
'๐ | WEB DEV > Django' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Django_์ฅ๊ณ ๋ถ์๊ธฐ (6)_CRUD (0) | 2022.06.30 |
---|---|
Django_์ฅ๊ณ ๋ถ์๊ธฐ (5)_ํ์ด์ง ์ด๋, ์์ธ ํ์ด์ง (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (4)_ํ ํ๋ฆฟ ๋ฌธ๋ฒ (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (3)_QuerySet (0) | 2022.06.30 |
Django_์ฅ๊ณ ๋ถ์๊ธฐ (2)_MVT ์์ฑ (0) | 2022.06.30 |
๋๊ธ