djangomtv/templates/index.html에 a 태그 추가
{% extends 'base.html' %}
{% load static %}
{% block body %}
<img src="{%static 'jeju.jpg'%}" alt='' width='200px'>
<form action='/' method="POST"> <!-- POST 방식으로 사용자가 요청하면 views.py에서 request로 받았을 때 정보 출력 가능 -->
{% csrf_token %}
<input type='text' name='id'><br>
<input type='password' name='pw'><br>
<input type='submit' name='로그인'>
</form>
<a href='https://djangomtv-lnurf.run.goorm.io/testtest'>이동</a>
{% endblock body %}
from django.contrib import admin
from django.urls import path, include
# from main import views # main의 views.py에서 모듈 가져다 사용할 거야!
# from a import views
# from b import views
# from c import views
from main.views import index, test, sample # main의 views.py에서 index 모듈 가져다 사용할 거야!
from a.views import indexA
from b.views import indexB
from c.views import indexC
from d.views import indexD
urlpatterns = [
path('admin/', admin.site.urls),
path('', index),
path('sample', sample),
path('testtest/', test), # main의 views.py 파일에 test 함수 작성하자
path('aa/', include('a.urls')),
path('bb/', indexB),
path('cc/', indexC),
path('dd/', indexD),
]
- a 폴더에 urls.py 파일 생성
- 앱 이름을 지정하여 다른 파일에서 함수명이나 url이 동일해도 충돌 피할 수 있음
from django.urls import path, include
from a.views import indexA, indexaaa, indexbbb, indexccc
app_name = 'a' # 앱 이름 지정
urlpatterns = [
path('', indexA, name='sampleA'), # name 지정해서 html 파일에서 템플릿 태그로 사용할 거야!
path('aaa/', indexaaa, name='sampleaaa'), # aaa 다음 어떤 문자열이 나오던 간에 a.urls.py로 이동해라
path('bbb/', indexbbb),
path('ccc/', indexccc),
]
- a 폴더 views.py에 indexaaa, indexbbb, indexccc 함수 추가
from django.shortcuts import render
def indexA(request):
return render(request, 'indexA.html')
def indexaaa(request):
return render(request, 'indexaaa.html')
def indexbbb(request):
return render(request, 'indexbbb.html')
def indexccc(request):
return render(request, 'indexccc.html')
- a 폴더 내 templates 폴더에 indexaaa.html 파일 생성
- 하이퍼링크로 aa(indexA)와 연결
- a:sampleA ⇒ a 앱의 sampleA로 매핑
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>hello world aaa</h1>
<p>
내 위치는 djangomtv/a/templates/indexaaa.html 이야
</p>
<a href="{% url 'a:sampleA' %}">aa로 이동!!</a>
</body>
</html>
- djangomtv/a/templates/indexA.html 하이퍼링크로 aaa(indexaaa)와 연결
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>hello world A</h1>
<p>
내 위치는 지금 djangomtv/a/templates/indexA.html 이야!
</p>
<a href="{% url 'sampleaaa' %}">aaa로 이동!!</a>
</body>
</html>
'WEB > Django' 카테고리의 다른 글
[Django] FBV와 CBV (0) | 2022.04.10 |
---|---|
[Django] ORM, Django Shell, QuerySet (0) | 2022.04.10 |
[Django] template language (0) | 2022.04.10 |
[Django] Django 구조와 MTV (0) | 2022.04.10 |
[Django] admin 페이지에 Notice 등록하기 (0) | 2022.04.10 |
댓글