Menu



Manage

Cord > Project_AI이미지 처리 전체 다운로드
Project_AI이미지 처리 > venv/templates/signup.html Lines 131 | 6.1 KB
다운로드

                        <!DOCTYPE html>
<html>
<head>
    <title>Sign Up</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
</head>
<body>
    <br><br><br>
    <div class="container">
	<div class="row align-items-center flex-row">

    <!-- 빈 공간 -->
	<div class="col-md-4">

    </div>

    <div class="col-md-4" style="border-radius: 8px; border: 1px solid #dddddd; padding: 3px;">
    <div class="container">
    <div class="jumbotron" style="padding-top: 20px;">

    <h4>회원가입</h4>
    <hr>
    
    <form method="POST">
        {{ form.csrf_token }}
        <div clss = "mb-3">
        <label for="id" class = "form-label">ID</label>
        <input type="text" id="id" name="id" class="form-control">
        </div>
        <div clss = "mb-3">
        {{ form.email.label(class="form-label") }}
        {{ form.email(class="form-control") }}
        </div>
        <div clss = "mb-3">
        {{ form.password.label(class="form-label") }}
        {{ form.password(class="form-control") }}
        </div>
        <div clss = "mb-3">
        {{ form.name.label(class="form-label") }}
        {{ form.name(class="form-control") }}
        </div>
        <br>
        <div clss = "mb-3">
        <button type="button" class="btn btn-light" onclick="sample3_execDaumPostcode()">주소 검색</button><br><div id="wrap" style="display:none;border:1px solid;width:500px;height:300px;margin:5px 0;position:relative">
            <img src="//t1.daumcdn.net/postcode/resource/images/close.png" id="btnFoldWrap" style="cursor:pointer;position:absolute;right:0px;top:-1px;z-index:1" onclick="foldDaumPostcode()" alt="접기 버튼">
        </div>
        <label for="sample3_postcode"></label>
        <input type="text" id="sample3_postcode" name="postcode" class="form-control" placeholder="우편번호" readonly>
        <label for="sample3_address"></label>
        <input type="text" id="sample3_address" name="address" class="form-control" placeholder="주소" readonly>
        <label for="sample3_detailAddress"></label>
        <input type="text" id="sample3_detailAddress" name="detail_address" class="form-control" placeholder="상세주소"><br>
        </div>
        
        <script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
        <script>
            // 우편번호 찾기 찾기 화면을 넣을 element
            var element_wrap = document.getElementById('wrap');
        
            function foldDaumPostcode() {
                // iframe을 넣은 element를 안보이게 한다.
                element_wrap.style.display = 'none';
            }
        
            function sample3_execDaumPostcode() {
                // 현재 scroll 위치를 저장해놓는다.
                var currentScroll = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
                new daum.Postcode({
                    oncomplete: function(data) {
                        // 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
        
                        // 각 주소의 노출 규칙에 따라 주소를 조합한다.
                        // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
                        var addr = ''; // 주소 변수
        
                        //사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
                        if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
                            addr = data.roadAddress;
                        } else { // 사용자가 지번 주소를 선택했을 경우(J)
                            addr = data.jibunAddress;
                        }
        
                        // 우편번호와 주소 정보를 해당 필드에 넣는다.
                        document.getElementById('sample3_postcode').value = data.zonecode;
                        document.getElementById("sample3_address").value = addr;
        
                        // 커서를 상세주소 필드로 이동한다.
                        document.getElementById("sample3_detailAddress").focus();
        
                        // iframe을 넣은 element를 안보이게 한다.
                        // (autoClose:false 기능을 이용한다면, 아래 코드를 제거해야 화면에서 사라지지 않는다.)
                        element_wrap.style.display = 'none';
        
                        // 우편번호 찾기 화면이 보이기 이전으로 scroll 위치를 되돌린다.
                        document.body.scrollTop = currentScroll;
                    },
                    // 우편번호 찾기 화면 크기가 조정되었을때 실행할 코드를 작성하는 부분. iframe을 넣은 element의 높이값을 조정한다.
                    onresize: function(size) {
                        element_wrap.style.height = size.height + 'px';
                    },
                    width: '100%',
                    height: '100%'
                }).embed(element_wrap);
        
                // iframe을 넣은 element를 보이게 한다.
                element_wrap.style.display = 'block';
            }
        </script>
        {{ form.submit(class="btn btn-primary float-end", value="가입") }}
        {% if error %}
        <p style="color: red;">{{ error }}</p>
        {% endif %}

    </div>
    </div>
    </div>

    <div class="col-md-4">  

    </div>

    </div>
    </div>
    </form>

    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</body>
</html>