📌 Django 설치

  • 설치
    1. anaconda prompt 실행
    2. pip install Django==4.1.2 입력


📌 Django 초기 설정 (프롬프트)

  • Django 프로젝트 생성
    1. anaconda prompt 열기
    2. 프로젝트를 만들 폴더로 이동
    3. django-admin startproject 프로젝트명 : 프로젝트 생성

  • django Application 생성
    1. 프로젝트 루트 폴더로 이동
    2. python manage.py startapp 애플리케이션명 : Application 생성
    3. 프로젝트로 돌아와서 django 폴더 내부의 settings 파일로 이동
    4. INSTALLED_APPS 리스트에 "application명" 을 추가


📌 Django 초기 설정 (Eclipse)

  • 프로젝트 생성
    1. File -> new -> other -> PyDev -> PyDev Django Project 선택
    2. Grammer Version=3.9, Interpreter=python
    3. Finish

  • migrate 수행
    1. 프로젝트 우클릭
    2. Django
    3. Migrate 클릭

  • Application 생성
    1. 프로젝트 우클릭
    2. Django
    3. create application 클릭

  • 생성한 app 설정 파일에 연결
    1. django 폴더 내부의 settings 파일로 이동
    2. INSTALLED_APPS 리스트에 "application명" 을 추가


📌 Django 환경 설정

  • 특정 URL 주소로 호스팅하기
    1. settings.py 파일 이동
    2. ALLOWED_HOSTS 리스트에 등록
    3. '192.168.0.??' 등록하기

  • 서버 돌릴 때마다 지정한 URL과 PORT번호로 구동하기
    1. C:\work\anaconda3\Lib\site-packages\django\core\management\commands 이동하기
    2. runserver 파일 메모장으로 열기
    3. default_add, default_port 변경하기


📌 Django 요청 url Mapping

  • 요청 url Mapping
    1. 클라이언트 요청 -> 프로젝트 폴더의 urls.py로 이동
    2. 모듈 import : from myapp import views
    2. urlpatterns 리스트 조작
    3. path('요청url', views.함수) 를 사용해 views.py의 지정한 함수로 매핑시키기
    4. 요청 url -> app의 views.py의 함수로 이동

  • views.py에서의 컨트롤러 함수
    - 파라미터 : request(요청 메시지)
    - 반환값 : render[포워딩 방식] or HttpResponse("html")


📌 Django views

  • views 함수
    - render()로 포워딩시킨다.
    - render(요청메시지, template, context) : 요청메시지를 이용해 template으로 요청을 한다. 동시에 context에 담긴 key, value 데이터를 template으로 보낸다.
    - template에서 받은 데이터는 {{}} 키워드를 사용해 데이터를 출력할 수 있다.
from django.http.response import HttpResponse

def indexFunc(request):
    msg = "장고 만세"
    # ss = f"<html><body>장고 프로젝트 처리 {msg}</body></html>"
    # return HttpResponse(ss)

    context = {'msg':msg}
    # 클라이언트에게 html 파일을 반환 - 파이썬 값을 html에 담아서 전달
    return render(request, 'main.html', context) # 포워딩 방식


profile
데이터 사이언티스트를 목표로 하는 개발자

0개의 댓글