반응형

2020/05/19 - [Django] - [Django] Application

 

[Django] Application

각각의 역할에 대해 간단하게 정리한 내용은 아래 포스팅글 참고해주세요 2020/05/18 - [Django] - Django 란 ? Django 란 ? 각각의 .py 파일들이 하는 역할은 다음과 같습니다. urls.py - URL 요청을 처리, URL을.

lightchan.tistory.com

2020/05/19 - [Django] - [Django] Template

 

URLS 를 어떤 용도로 사용하는지 이전 포스팅을 참고하면 좋을 것 같습니다.

 

urls의 형태는 다음과 같습니다.

 

urlpatterns = [
    path(url경로, view, {key:values}, name),
]

path의 1번째 위치는 url경로,

2번째 위치는 출력할 view,

3번째 위치는 딕셔너리 형태인 {key:values}

4번째 위치는 장고의 위치의 상관 없이 참조할 이름을 정해줍니다.

앞의 2개는 필수지만 뒤에 2개는 옵션 선택사항입니다

 

아래 사진을 보시면 urls가 2개가 생성되어있습니다. 그 이유는 프로젝트에 여러개의 APP이 존재하는데 모든 urls의 내용을 프로젝트 root의 urls에 다 넣으면 복잡해지고 찾기 힘들어 지기 때문에 각각의 APP 안에 urls를 만들어주면 보다 더 효율적으로 사용할 수 있습니다.

 

 

프로젝트의 root urls.py 의 url 매핑을 다음과 같이 해줍니다.

urlpatterns = [
    path('admin/', admin.site.urls),
    
    path('', views.Main), # myboard의 views의 Main
    path('board/', include('myboard.urls')),

]

3번째에 작성되어있는 path 경로를 보시면 

path('board/, include('myboard.urls')) 라고 작성되어있습니다.

이 뜻은 url뒤에 board/를 만나면 myboard 폴더의 urls.py 를 찾아가는 의미가 되겠습니다.

 

 

 

반응형

'Django' 카테고리의 다른 글

[Django] GET & POST 방식 웹 출력  (0) 2020.05.21
[Dango] DB 연결 및 Migrate  (0) 2020.05.21
[Django] Model  (0) 2020.05.20
[Django] Template  (0) 2020.05.19
[Django] View  (0) 2020.05.19
반응형

각각의 역할에 대해 간단하게 정리한 내용은 아래 포스팅글 참고해주세요

2020/05/18 - [Django] - Django 란 ?

 

Django 란 ?

각각의 .py 파일들이 하는 역할은 다음과 같습니다. urls.py - URL 요청을 처리, URL을 기준으로 HTTP 요청을 알맞은 view 에 전달해주기 위해 사용합니다. 추가로, URL 매퍼(mapper)는 패턴(숫자 또는 문자)�

lightchan.tistory.com

Django에서 Project와 APP의 역할


1개의 프로젝트 안에 다양한 기능들이 있고, 기능들을 수행하는 여러개의 App으로 관리

 

 

- Django App 만드는 방법

python manage.py startapp 만들app이름

 

startapp을 통해 myapp 생성

- 만든 App을 사용 가능하게 하기

 

사용하여 '안녕하세요 Django App 사용해보기' 를 출력을 위해 views.py로 가서 다음과 같이 작성해줍니다.

 

views.py

from django.shortcuts import render

# Create your views here.
def MainFunc(request):
    return render(request, 'main.html')

그 다음 'main.html'이라는 웹에서 출력되어야하기 때문에 setting.py 와 urls.py 를 수정해줍니다.

 

 

settings.py

 

urls.py

 

 

여기서 import 추가 한 부분은 생성한 APP이름을 임포트 하고, 경로 설정은 자신이 설정한 'views.함수명'을 입력해주도록 합니다. 

 

이러한 과정이 끝나셨다면 프로젝트를 실행 후 웹에서 해당 주소를 입력후 접속하면 다음과 같이 정상 출력되는 것을 알 수 있습니다.

 

 

2020/05/19 - [Django] - [Django] View

 

[Django] View

2020/05/19 - [Django] - [Django] Application [Django] Application 각각의 역할에 대해 간단하게 정리한 내용은 아래 포스팅글 참고해주세요 2020/05/18 - [Django] - Django 란 ? Django 란 ? 각각의 .py 파일..

lightchan.tistory.com

 

반응형

'Django' 카테고리의 다른 글

[Django] Model  (0) 2020.05.20
[Django] Template  (0) 2020.05.19
[Django] View  (0) 2020.05.19
[Django] 프로젝트 설정 준비  (0) 2020.05.18
Django 란 ?  (0) 2020.05.18
반응형

 

각각의 .py 파일들이 하는 역할은 다음과 같습니다.

 

urls.py

- URL 요청을 처리, URL을 기준으로 HTTP 요청을 알맞은 view 에 전달해주기 위해 사용합니다.

추가로, URL 매퍼(mapper)는 패턴(숫자 또는 문자)을 맞추고 뷰 함수에 전달합니다.

 

urlpatterns = [
    path('', views.Main),
    path('list1', views.List1),
]

위 예시에서

path('', views.Main),

이 문장이 뜻하는바는 다음과 같습니다.

 

URL에 ' 해당 URL/ ' 와 같이 ' 해당 URL ' 다음 아무것도 찍히지 않으면,

 views.py 의 'Main' 함수를 실행한다는 의미입니다.

 

path('list1', views.List1),

그렇다면 위의 한줄은 URL에 '해당URL/' 다음에 'list1'이 찍히면,

views.py의 'List1'함수를 실행한다는 의미입니다.

 

views.py

- HTTP request(요청) 수신하고 response(응답) 반환 역할을합니다.

models.py을 통해 요청에 적절할 데이터를 가져옵니다.

 

def Main(request):
    return render(request, 'main.html')

def List1(request):
    makers = Maker.objects.all()
    return render(request, 'list1.html', {'makers':makers})

 

해당 소스코드를 살펴보겠습니다.

 

def Main(request):
    return render(request, 'main.html')

urls.py 에서 보셨듯이, path가 '' 경우 Main 함수로 와야한다고 하였습니다.

Main 함수는 main.html로 보내는 것을 알 수 있습니다.

 

def List1(request):
    makers = Maker.objects.all()
    return render(request, 'list1.html', {'makers':makers})

urls.py 에서 list1을 만난 경우 'List1' 함수를 통해 'list.html'에 model로 부터 알맞은 데이터를dict 형식으로 makers라는 sql 파일을 가져오는 것을 알 수 있습니다.

models.py

- APP의 구조 정의 및 DB 기록 추가,수정,삭제 기능을 하며, query를 제공하는 파이썬 객체 설정

 

class Maker(models.Model): 
    mname = models.CharField()
    tel = models.CharField()
    addr = models.CharField()

Maker라는 클래스에 models.Model을 상속받아, 파이썬 객체를 설정한 것을 알 수 있습니다.

 

Templates 폴더 내 html 파일

- 파일 구조 및 css과 같은 디자인을 담당하는 HTML 페이지, 내용을 보여주는데 필요한 텍스트 파일입니다.

 

{% for m in makers %}
<tr>
	<td>{{m.id}}</td>
	<td><a href="/list3?id={{m.id}}">{{m.mname}}</a></td>
	<td>{{m.tel}}</td>
	<td>{{m.addr}}</td>
</tr>
{% endfor %}

 

장고에서 사용하는 문법으로 HTML 페이지에 필요한 내용을 출력해주는 것을 볼 수 있습니다.

 

 

결론:

 

view는 HTML 파일을 이용하여 HTML 페이지를 작성하고 model에서 얻어온 데이터로 채웁니다.

 

반응형

'Django' 카테고리의 다른 글

[Django] Model  (0) 2020.05.20
[Django] Template  (0) 2020.05.19
[Django] View  (0) 2020.05.19
[Django] Application  (0) 2020.05.19
[Django] 프로젝트 설정 준비  (0) 2020.05.18

+ Recent posts