ė—°í˜œėŠŽ 2020. 12. 5. 21:32

from django.templates import loader
def index(request):
    templates = loader.get_template('index.html')
    context = {}
    return HttpResponse(template.render(context, request))
#settings
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'first',
]
<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <title>Title</title>
</head>
<body>
    <p>Hello World!</p>
    <p>{{ current_date}}</p>
    <p>{{ current_date|date:"Y년 mė›” dėž Hė‹œ iëķ„ sėīˆ"}}</p>
</body>
</html>

 

def index(request):
    template = loader.get_template('index.html')
    now = datetime.now()
    context = {
        'current_date' : now
    }
    return HttpResponse(template.render(context, request))

    <a href="{% url 'select' %}">ė‹œėž‘í•˜ęļ°!</a>

from django.shortcuts import render

--> shortcut ė―”ë”Đ

def index(request):
    now = datetime.now()
    context = {
        'current_date' : now
    }
    return render(request, 'index.html', context)


def select(request):
    context = {}
    return render(request, 'select.html', context)


def result(request):
    context = {}
    return render(request, 'select.html', context)

#select.html

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <title>Title</title>
</head>
<body>
    <p>
      <a href="{% url 'result' %}"><button>ęē°ęģžëģīęļ°</button></a>
    </p>
</body>
</html>

views - select

def select(request):
    context = {'number' : 4}
    return render(request, 'select.html', context)

#select.html

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <title>Title</title>
</head>
<body>
    <p>
        {% if number|divisibleby:2 %}
            ė§ėˆ˜ėž…ë‹ˆë‹Ī.
        {% else %}
            í™€ėˆ˜ėž…ë‹ˆë‹Ī.
        {% endif %}
    </p>
    <p>
      <a href="{% url 'result' %}"><button>ęē°ęģžëģīęļ°</button></a>
    </p>
</body>
</html>

views.py

def result(request):
    context = {'numbers' : [1,2,3,4,5,6]}
    return render(request, 'result.html', context)

views.html

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <title>Title</title>
</head>
<body>
   <ul>
       {% for num in numbers %}
        <li>{{ num }}</li>
       {% endfor %}
   </ul>
</body>
</html>


static íŒŒėž ë„ėš°ęļ°

#settings
import os

STATIC_URL = '/static/'

STATICFILES_DIRS = {
    os.path.join(BASE_DIR, "static")
}

index.html

{% load static %}
<!DOCTYPE html>
<html lang = "ko">
<head>
    <meta charset = "UTF-8">
    <title>Title</title>
</head>
<body>
    <p>Hello World!</p>
    <img style="width:100px;" src="{% static 'image.jpg' %}" alt="ë‹Ī람ėĨ"/>
    <p>{{ current_date}}</p>
    <p>{{ current_date|date:"Y년 mė›” dėž Hė‹œ iëķ„ sėīˆ"}}</p>

    <a href="{% url 'select' %}">ė‹œėž‘í•˜ęļ°!</a>
</body>
</html>

 

---

<img style="width:100px;" src="{% static 'first/image.jpg' %}" alt="ë‹Ī람ėĨ"/>

def index(request):
    now = datetime.now()
    context = {
        'current_date' : now
    }
    return render(request, 'first/index.html', context)


def select(request):
    context = {'number' : 4}
    return render(request, 'first/select.html', context)


def result(request):
    context = {'numbers' : [1,2,3,4,5,6]}
    return render(request, 'first/result.html', context)

block 개념

#base.html

{% load static %}
<!DOCTYPE html>
<html lang = "ko">
<head>
    <meta charset = "UTF-8">
    <title>로또 ëēˆí˜ļ</title>
    <link rel="stylesheet" type = "text/css" href = "{% static 'first/styles.css' %}">

</head>
<body>
   {% block content %}
   {% endblock %}
</body>
</html>

index.html

{% extends 'first/base.html' %}
{% load static %}
{% block content %}

 

{% extends 'first/base.html' %}
{% load static %}
{% block content %}

    <p>Hello World!</p>
    <img style = "width : 100px;" src="{% static 'first/image.jpg' %}" alt="ë‹Ī람ėĨ"/>
    <p>{{ current_date}}</p>
    <p>{{ current_date|date:"Y년 mė›” dėž Hė‹œ iëķ„ sėīˆ"}}</p>

    <a href="{% url 'select' %}">ė‹œėž‘í•˜ęļ°!</a>
    
{% endblock %}

 

#select.html

{% extends 'first/base.html' %}
{% block content %}
<p> 눘ëĨž 하나 ėž…ë Ĩí•īėĢžė„ļėš”.</p>

<form action="{% url 'result' %}" method = "get">
    <input type = "number" name="number"/>
    <button type = "submit">ęē°ęģžëģīęļ°</button>
</form>

{% endblock %}

 

#views.py - result

def result(request):
    chosen = request.GET['number']
    context = {
        'numbers' : [chosen, 2, 3, 4, 5, 6]
    }
    return render(request, 'first/result.html', context)

#result.html

{% extends 'first/base.html' %}
{% block content %}
    <h3> ėķ”ėēœ ëēˆí˜ļ는 ë‹ĪėŒęģž ę°™ėŠĩ니ë‹Ī.</h3>
    <div style="text-align:left;">
        <ul>
            {% for num in numbers %}
             <li>{{ num }}</li>
            {% endfor %}
        </ul>
    </div>

{% endblock %}

 

 

=== ė œëŒ€ëĄœ 된 result ęĩŽí˜„

def result(request):
    chosen = int(request.GET['number'])
    results = []
    if chosen >= 1 and chosen <=45:
        results.append(chosen)
    box = []
    for i in range(0,45):
        if chosen != i+1:
            box.append(i+1)    
    
    random.shuffle(box)
    while len(results)<6:
        results.append(box.pop())

    context = {
        'numbers' : results
    }
    return render(request, 'first/result.html', context)