본문 바로가기
수업(국비지원)/Django

[Django] main페이지 생성

by byeolsub 2023. 4. 27.

 📌 main.html 내용 수정

**{% extends "base1.html" %}**
{% block content %}
{%if request.session.login %}
<div class="w3-panel w3-card">
<h3>{{request.session.login}}로 로그인 되었습니다.</h3>
<h3><a href="../logout">로그아웃</a></h3>
<h3><a href="../info/{{request.session.login}}/">회원정보보기</a></h3>
{% if request.session.login == 'admin'%}
    <h3><a href="../list" >회원목록 보기</a></h3>
{% endif %}
</div>
{% else %} {# 로그인 안된 경우 #}
<script>
   location.href='../login/'
</script>
{% endif %}
{% endblock content %}

📌 member/urls.py 내용 수정

# -*- coding: utf-8 -*-

"""
Created on Wed Dec 21 10:19:40 2022

@author:KITCOOP
member/urls.py
"""

from django.urls import path
from . import views

# 127.0.0.1:8000/member/login 요청시 views.py의 ligin 함수 실행
urlpatterns = [
    path("login/", views.login, name="login"),
    # <http://127.0.0.1:8000/member/join>
    path('join/', views.join, name="join"),
    **path('main/',views.main, name="main"),**
    ]

📌 member/views.py 내용 수정

from django.shortcuts import render
from .models import Member
from django.http import HttpResponseRedirect

# Create your views here.
# member/views.py

# 127.0.0.1:8000/member/login 요청시 호출되는 함수
def login(request) :
    if request.method != "POST" :
        return render(request, "member/login.html")
    else :
        id1 = request.POST["id"]
        pass1 = request.POST["pass"]
        try :
            # 입력된 id값으로 Member 객체에서 조회
            member = Member.objects.get(id=id1) # select 문장 실행
        except : # db에서 id 정보가 없을 때
            context = {"msg":"아이디를 확인하세요."}
            return render(request,"member/login.html",context)
        else : # 정상적인 경우. id 정보가 조회된 경우
            # member.pass1 : db에 등록된 비밀번호
            # pass1 : 입력된 비밀번호
            if member.pass1 == pass1 : # 로그인 정상
                request.session["login"] = id1 # session객체에 login 등록.
                return HttpResponseRedirect("../main")
            else : # 비밀번호 오류
              context = {"msg":"비밀번호가 틀립니다.","url":"../login/"}
              return render(request,"alert.html",context)

def join(request) :
    if request.method != "POST" :
         return render(request, "member/join.html")
    else : # post 방식.
        member = Member(id = request.POST["id"], # id 파라미터값.\\
                        pass1 = request.POST["pass"],\\
                        name = request.POST["name"],\\
                        gender = request.POST["gender"],\\
                        tel = request.POST["tel"],\\
                        email = request.POST["email"],\\
                        picture = request.POST["picture"])
        member.save() # insert 문장 실행.
        return HttpResponseRedirect("../login/")
    
**def main(request) :
    return render(request, "member/main.html")**

 


  • 결과