๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ํŒจ์บ  ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

<์ด์ „ ๊ธ€>

https://silvercoding.tistory.com/16

 

[DJANGO ๊ธฐ์ดˆ] 6. ์„ธ์…˜, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ํŒจ์บ  ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. <์ด์ „ ๊ธ€> https://silvercoding.tistory.com/15 https://silvercoding.tistory.com/14 https://silvercoding.tistory.com/13 https://silvercoding.tistory.com/12 htt..

silvercoding.tistory.com

 

์ด์ „ ๊ธ€๊นŒ์ง€ ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ๋‘๊ฐœ์˜ template html์ด ๊ฑฐ์˜ ์œ ์‚ฌํ–ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ ์ด๋ ‡๊ฒŒ ๊ฒน์น˜๋Š” html์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๊ฐ„๋‹จํžˆ ์ƒ์†๋ฐ›๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณธ๋‹ค. 

 

 

 

1. ๊ธฐ๋ณธ์ด ๋˜๋Š” html ํŒŒ์ผ ์ƒ์„ฑ 

community ---> user ---> templates ---> base.html ์ƒ์„ฑ 

<html>

<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous"> -->
    <link rel="stylesheet" href="/static/bootstrap.min.css" />
    <script src="https://cdn.jsdelivr.net/npms/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script>
</head>

<body>
    <div class="container">
        {% block contents %}
        {% endblock %}
    </div>
</body>

</html>

body๋ถ€๋ถ„์˜ container ๊นŒ์ง€๋งŒ ๋‚จ๊ฒจ๋‘๊ณ , 

{% block contents %} {% endblock %} ๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค. 

 

์ด ์‚ฌ์ด์— ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

2. ์ƒ์†๋ฐ›๊ธฐ 

community ---> user ---> templates ---> login.html

{% extends "base.html" %} 
{% block contents %}
<div class="row mt-5">
    <div class="col-12 text-center">
        <h1>๋กœ๊ทธ์ธ</h1>
    </div>
</div>
<div class="row mt-5">
    <div class="col-12">
        {{ error }}
    </div>
</div>
<div class="row mt-5">
    <div class="col-12">
        <form method="POST" , action=".">
            {% csrf_token %}
            <div class="form-group mb-3">
                <label for="username" class="form-label">์‚ฌ์šฉ์ž ์ด๋ฆ„</label>
                <input type="text" class="form-control" id="username" placeholder="์‚ฌ์šฉ์ž ์ด๋ฆ„" name="username">
            </div>
            <div class="form group mb-3">
                <label for="password" class="form-label">๋น„๋ฐ€๋ฒˆํ˜ธ</label>
                <input type="password" class="form-control" id="password" placeholder="๋น„๋ฐ€๋ฒˆํ˜ธ" name="password">
            </div>
            <button type="submit" class="btn btn-primary">๋กœ๊ทธ์ธ</button>
        </form>
    </div>
</div>
{% endblock %}

์šฐ์„  {% extends "base.html" %} ๋ฅผ ๊ฐ€์žฅ ์ƒ๋‹จ์— ์ž‘์„ฑํ•ด์ค€๋‹ค. 

๊ทธ๋‹ค์Œ ์ง€์ •ํ•˜๋Š” ๋ถ€๋ถ„์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก base.html์—์„œ ์ž‘์„ฑํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ฒŒ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ํ™•์ธํ–ˆ์„ ๋•Œ ์ „๊ณผ ๊ฐ™์ด ์ž˜ ๋™์ž‘ํ•œ๋‹ค๋ฉด ์„ฑ๊ณต! 

 

 

 

 

 

+ Recent posts