June 04, 2020 ( last updated : June 04, 2020 )
Python
Django
Web
https://github.com/sneakstarberry/
장고 세션에 따라 자신이 만든 html파일을 메인화면으로 바꿔보기로 하였다.


django라는 이름으로 C드라이브에 새폴더를 생성해 줍니다. 그리고 해당 폴더를 폴더 선택을 눌러서 선택합니다. 이때 폴더:에 선택한 폴더이름이 나와 있어야합니다.
python -m venv myvenv
-m은 어떤 것을 만들어 주겠다는 것입니다.venv는 virtual environment의 축약어로 가상환경을 의미합니다.myvenv는 저희가 생성하는 가상환경의 이름을 의미합니다. 사실상 원하는 이름을 붙이셔도 됩니다.이 모든 것을 합치면 myvenv라는 가상환경을 생성해 주겠다는 명령어가 됩니다.

source myvenv/scripts/activate

(myvenv)가 생겼다면 가상환경이 실행이 된 것 입니다.git clone https://github.com/SYULION8TH/django_1st.git


pip install django를 통해 장고를 다운 받을 수도 있지만 실습 환경을 동일하게 하기 위해서 만든 requirements.txt를 통해서 pip install을 진행 하고자 합니다.dir 혹은 ls명령어를 입력합니다.dir

django_1st와 myvenv가 나옵니다. 현재 경로에 있는 폴더를 의미합니다.requirements.txt가 있는 django_1st로 경로를 이동하도록 하겠습니다.cd django_1st/

cd는 change directory의 약자입니다. 빨간색으로 표시된 부분을 보면 django에서 django_1st로 경로가 변경이 된 것을 볼 수 있습니다.dir or ls명령어를 통해서 제대로 이동이 되었는지 확인해 봅니다.
requirements.txt가 있는 것을 볼 수 있습니다.pip install -r requirements.txt

cd blog

dir명령어를 통해 확인을 해줍니다.
blog와 manage.py가 있다면 제대로 따라오셨습니다.python manage.py runserver

http://127.0.0.1:8000/를 ctrl+Click을 통해서 페이지를 열어 줍니다.
blog라는 프로젝트 폴더만 있지만 앱을 생성해 주어야합니다. 다음 명령어를 입력해 봅니다.python manage.py startapp posts
startapp은 앱을 만든다는 명령어입니다.posts는 앱의 이름입니다. 굳이 posts가 아니어도 됩니다.posts폴더가 생성됩니다.
blog폴더 안에 settings.py를 눌러줍니다....
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
'posts'를 추가 시켜 줍니다....
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'posts',
]
...
코드를 작성한 후에는
Ctrl+S를 눌러서 저장을 해줍니다.
html파일 추가하기posts폴더 안에 templates폴더를 생성합니다. 이는 장고에서 정해진 경로로 templates라는 폴더 이름을 지켜줘야 합니다. 저희는 여기에 현재 앱이름과 같은 posts라는 폴더를 templates폴더 안에 만들어줍니다. 그러면 아래 사진과 같이 될 것 입니다.
index.html을 만들어준 경로에 복사 붙여넣기 해주도록 한다.
views.py파일 코드 작성하기posts폴더 아래 views.py를 눌러서 열어줍니다.
views.py내의 코드를 다음과 같이 바꾸어 준다.
def home(request):
return render(request, "posts/index.html")
코드를 작성한 후에는
Ctrl+S를 눌러서 저장을 해줍니다.
urls.py를 변경하여 라우팅을 해줍니다.라우팅이란? 여기서는 경로를 배정을 해주는 것입니다. 사용자가 어떤 경로를 요청하느냐에 따라서 다른 페이지를 전달 할 수 있게 해줍니다.
예시
https://comic.naver.com/index.nhn이와 같은 경로를 보았을 때 웹툰 페이지를index.nhn로 경로 배정을 했다는 것을 알 수 있습니다.

blog폴더 안에 있는 urls.py를 눌러주어서 코드를 봅니다.urls.py파일의 16번째 줄에 다음과 같은 코드가 있을 것 입니다....
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
...
from django.contrib import admin
from django.urls import path
import posts.views # 추가된 코드
urlpatterns = [
path('admin/', admin.site.urls),
path('', posts.views.home, name="home"), # 추가된 코드
]
python manage.py runserver

Originally published June 04, 2020
Latest update June 04, 2020
Related posts :