티스토리 뷰

view.py

from django.shortcuts import render, HttpResponse
topics = [
    {'id':1, 'title':'routing', 'body':'Routing is ..'},
    {'id':2, 'title':'view', 'body':'View is ..'},
    {'id':3, 'title':'Model', 'body':'Model is ..'},
]

def HTMLTemplate(articleTag): #템플릿 생성 함수 만들기
    global topics
    ol = ''
    for topic in topics:
        ol += f'<li><a href="/read/{topic["id"]}">{topic["title"]}</a></li>'
    return f'''
    <html>
    <body>
        <h1><a href="/">Django</a></h1> #Django 클릭시 홈으로 이동
        <ul>
            {ol}
        </ul>
        {articleTag}    #articleTag따라 내용 변경
    </body>
    </html>
    '''

def index(request):
    article = '''
    <h2>Welcome</h2> 
    Hello, Django
    '''
    return HttpResponse(HTMLTemplate(article))

def read(request, id):
    global topics
    article = ''
    for topic in topics:
        if topic['id'] == int(id):  #선택한 id가 된다면
            article = f'<h2>{topic["title"]}</h2>{topic["body"]}'   #article 지정
    return HttpResponse(HTMLTemplate(article))

def create(request):
    return HttpResponse('Create')

실행화면

 

 

클릭 시 상세 페이지에 관한 설명이 뜨도록 구현

'개발공부 > Django' 카테고리의 다른 글

10. 생성기능(method=GET,POST)  (0) 2022.04.26
9. 생성기능 구현(form)  (0) 2022.04.26
7. 홈페이지 읽기 기능 구현하기  (0) 2022.04.26
6. django를 쓰는 이유  (0) 2022.04.26
5. Routing URL conf  (0) 2022.04.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함