Web/Django-python
Django reverse() 함수 - Class 뷰와 Def 뷰
장고에서 reverse 함수는 urls.py 에 선언해둔 name에 따라 URL을 받아와서 사용할 수 있게 해주는 기능을 가지고 있다. 다만 사용하기 위해서는 몇개의 밑작업이 필요하다. 우선 urls.py 에 수정이 필요한데, apps/urls.py #apitest/urls.py from django.urls import path from . import views app_name = 'apitest' urlpatterns = [ path('',views.IndexView.as_view(),name='index'), path('/',views.testView,name='testview'), path('formtest/',views.FormView.as_view(),name='formtest'), path..
장고 튜토리얼 내용 정리
새로운 앱 추가 python3 manage.py startapp [app이름] 이렇게 하면 해당 앱을 위한 디렉토리가 생성된다. 수정해야 할 파일 : main/settings.py , main/urls.py , app/urls.py , app/views.py main/settings.py INSTALLED_APPS = [ 'apitest.apps.ApitestConfig', 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',..
docker + nginx + django 에서 static file serve 해주기
기본적으로 장고는 정적파일 로드를 static 이라는 경로에 따로 모아놓고 진행을 한다. 따라서 실제 서비스 환경에서는 CSS나 이미지를 비롯한 정적 파일들을 해당 경로에 모아놔야 정상적으로 로드가 되는데, 장고에서는 runserver 실행시 필요한 static 파일들을 /static/ 이라는 하위경로에 자동으로 모아줘서 장고만 쓸때는 크게 문제가 없다. 서버가 실행되면 /static/ 경로를 참조하면 그만이니까. 근데 nginx를 쓸때는 그렇지 않다. nginx에서 로드할 파일들 목록에 static은 포함이 안되있어서 참조를 못하고, nginx에서 static을 참조를 못하니까 장고에서도 static을 못불러온다. 그래서 nginx에서도 static 파일을 모아올 수 있게끔 수동으로 내용들을 모아줘야한..
Django DB API
장고 튜토리얼의 polls 예제에 있는 DB 관련 API들에 대해 정리해봤다. 기본적으로는 파이썬 문법을 따라가기 때문에 이해하는데에 크게 어려움은 없었고, 일반적인 DB에서 사용하는 sql 쿼리문 대신 이런식으로도 데이터를 가져올 수 있구나~ 정도만 알아두면 될것같다. python3 manage.py shell manage.py에 설정된DJANGO_SETTINGS_MODULE환경변수 때문에 위와같이 쉘을 실행한다. mysite/settings.py 파일의 import내용을 그대로 가져와 python 쉘에서 사용할 수 있게 하기 때문에, 대화식 Python 쉘에서 Django가 접근할 수 있는 Python 모듈 경로를 그대로 사용 할 수 있다. 즉, Django에서 동작하는 모든 명령을 대화식 Pytho..
웹서비스의 구성 - Web Server , CGI, WAS , WSGI의 특징 및 차이점
웹서비스의 구조 정적 처리 : 클라이언트 -> (Request) -> 웹서버 기본적인 동적 처리의 경우 : 클라이언트 -> (Request) -> 웹서버 -> (Request) -> WAS -> 외부 프로그램 실행(WAS에서 동작) CGI를 사용하는 경우 : 클라이언트 -> Request -> 웹서버 -> CGI -> 외부 프로그램 실행(웹서버에서 동작) WSGI를 사용하는 경우 : 클라이언트 -> Request -> 웹서버 -> Request -> WSGI (미들웨어) -> Requset -> WAS -> 외부 프로그램 웹 서버 소프트웨어 + 하드웨어로 이루어짐. 하드웨어 : 웹서버가 설치된 시스템 컴퓨터 소프트웨어 : 웹 브라우저 클라이언트로부터 Requset를 받아 정적인 컨텐츠(html , css..