지금까지 한 작업:
0. (내가 이해한) Django의 기본 개념
1. Macbook air M1에 개발환경 setting(Django, Python설치)
2. Django 기본 프레임웍 익히기
3. localhost page에 "hello world"출력
4. Django admin page 및 DB 연동 + DB data web page에 보여주기
5. 웹페이지 만드는 플로우 + 회원가입 및 log in 기능 구현
오늘의 작업
6. Logout, Signup 기능 만들기
.
.
urlpatterns = [
path(route, view, kwargs = None, name = None)
]
path안에는 route, view가 들어가고 kwargs나 name을 넣을 수 있다.
*kwargs는 https://brunch.co.kr/@princox/180 요기 잘 설명되어 있으니 참고.
from django.urls import path
from . import views
urlpatterns = [
    path('logout/', views.logout_view, name='logout'),
]from django.contrib.auth import logout
def logout_view(request):
    if request.method == "POST":
        logout(request)
    return render(request, "myapp/login.html")def index(request):
    latest_id_list = People.objects.order_by('-pub_date')[:5]
    template = loader.get_template('my_app/index.html')
    context = {
        'latest_id_list': latest_id_list,
    }
    return HttpResponse(template.render(context, request)){% if latest_id_list %}
    <ul>
        <h1>Here is People list</h1>
    {% for people in latest_id_list %}
        <li>{{ people.people_name }}</li>
    {% endfor %}
    </ul>
{% else %}
    <p>No companies are registered.</p>
{% endif %}이번에는 SignUp 기능을 만들어 보자.
기본적으로
1. signup 기능 등록 --> urlpatterns에 등록하고 views에 signup_view 만들기
2. id/pw/pw확인을 받아서 database에 입력 --> 기본 내장되어 있는 회원관리 기능사용
3. 회원가입 완료 후 어디론가 보내기
정도의 과정이 진행될 것이다. my_app/urls.py에 sign_up경로와 view를 등록하자
urlpatterns = [
path('login/', views.login_view, name='login'),
path('signup/', views.signup_view, name='signup')
]def signup_view(request):
    if request.method == "POST":
       if request.POST['password1'] == request.POST['password2']:
           user = User.objects.create_user(
                username=request.POST['username'],
                password=request.POST['password1']
            )
           login(request, user)
           return redirect('login')
    else:
    	return render(request, "my_app/signup.html")<head>
    <meta charset="UTF-8">
    <title>회원가입 페이지</title>
</head>
<body>
{% if user.is_authenticated %}
    이미 로그인이 되어 있습니다!
    <form action ="{% url 'logout' %}" method = "POST">
        {% csrf_token %}
        {{ user.username }} 님 환영합니다. <input type = "submit" value = "로그아웃">
    </form>
{%  else %}
    회원가입 페이지
    <form action = "{% url 'signup' %}" method="POST">
        {% csrf_token %}
        username:<input name = "username" type = "text">
        <br>
        password:<input name = "password1" type = "password">
        <br>
        password 확인:<input name = "password2" type = "password">
        <br>
        <input type = "submit" value = "회원가입">
    </form>
{% endif %}
</body>
</html>