일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백엔드
- 깃허브
- 웹동아리
- 멋사 10기
- 파이썬
- discord
- 멋사
- 멋사 서류
- IT동아리
- 알림봇
- 멋쟁이사자처럼
- 파이썬 크롤링
- 멋쟁이사자처럼11기
- 멋쟁이사자처럼 서류
- API
- 멋사 서류평가
- 크롤링
- ㅏㄴ
- django
- 멋쟁이사자처럼10기
- 멋사 면접
- 기사 제목 크롤링
- 멋사11기
- 멋사10기
- 디스코드봇
- 코딩동아리
- 멋쟁이사자처럼대학
- 멋쟁이 사자처럼
- 멋사 합격
- 멋사12
- Today
- Total
ACHO.pk devlog
[멋쟁이사자처럼10기] 가상환경 설정하고 Django 시작하기 본문
드디어 백엔드에 첫 발을 내딛는 순간이다.
내가 추가적으로 공부할 때나 새로운 프로젝트를 진행할 때 이렇게 기록하는 것이 도움이 된다는 걸 잘 알기 때문에 귀찮더라도 꾸준히 기록하기 위해 노력하고 있다.
...작성하다가 다 날라가서 멘탈도 같이 터졌다...
가상환경 셋팅하기
나는 코드라이언에서 알려준 방법으로 가상환경이 세팅이 되지 않아 구글링을 통해 cmd 창으로 가상환경을 만들었다.
### cmd 창 ###
$ cd 폴더 경로
$ python -m venv 가상환경이름


django 설치하고 프로젝트 생성하기
vs code에서 가상환경 만든 폴더를 불러온 후, 터미널에서 django를 설치해준다!!
pip install django
django-admin startproject 프로젝트이름
pip freeze #현재 우리의 작업공간에서 어떤 패키지들이 설치되어 있는지 확인하는 명령어
내가 설정한 이름으로 프로젝트가 만들어져있는 것을 확인할 수 있다.

· __init__.py : 파이썬 내부에서 미리 약속된 파일로, 이 파일이 위치한 폴더가 패키지임을 알려준다.
· manage.py : 어떻게 실행시키고 활용할 지가 중요하다.
$ ls #현재 디렉토리에 있는 폴더와 파일을 볼 수 있음
$ ls -a #현재 디렉토리에 있는 숨긴 폴더까지 볼 수 있음
1. 서버 실행하기
우리가 만든 프로젝트 경로로 터미널을 실행한 후에 해당 명령어를 쓰자(가상환경 경로 터미널로 실행할 경우 에러 발생)
$ python manage.py runserver
ctrl + c : 서버끄기


2. Application 만들기 : 여러 개의 application이 모여서 하나의 거대한 웹사이트를 만든다.
$ python manage.py startapp application_이름

어플리케이션을 만든 후 등록을 할 땐 settings.py에 등록하기

위의 방법으로도 등록할 수 있지만, 내가 만든 application폴더 apps.py에 들어가서 class이름을 가져오는 방법도 있다.
INSTALLED_APPS={
'dashboard.apps.DashboardConfig'
}

3. DataBase 초기화 및 변경사항 반영
$ python manage.py migrate
db.sqlite3 : django에서 기본적으로 제공하는 DB
4. 관리자 계정 만들기
$ python manage.py createsuperuser
관리자 계정을 만든 후에 urls.py에 들어가면 관리자 페이지에 접근할 수 있다.



· settings.py : 코드 내부에서 각각의 항목을 아는 것이 중요하다.
BASE_DIR : 프로젝트의 기본 위치
SECRET_KEY: 해쉬를 생성할 때 만들어주는 문자열 (암호화_배포할 때 유출하면 안 됨)
DEBUG = True : 서버를 어떻게 켤 지 결정하는 것. 개발자 모드나 배포용으로 서버를 켤 것인지 결정함
-True : 개발자를 위한 많은 정보
-False : 적은 정보
INSTALLED_APPS : 생성한 application를 이 곳에 적어야 한다.
DATABASES : 어떤 데이터베이스를 쓸 것인지, 그 데이터베이스의 위치는 어디인지 적어야 한다. 실제 데이터베이스와 연결해주는 플러그 역할이다.
LANGUAGE_ZONE : django 디폴트 환경 언어
TIME_ZONE : django 디폴트 환경 시간
STATIC_URL : 우리의 웹서비스에 미리 준비한 static파일의 위치를 적는 곳
· urls.py : 각종 url를 등록하고 관리해주는 파일로, 어떤 url로부터 요청이 들어왔을 때 어떤 동작을 수행할 지 알려준다. url를 계층적으로 다룰 수 있다.
Django 개발 과정 알아보기
1. 가상환경 셋팅하기
2. django 설치하기
3. django 프로젝트 만들기 (실행 확인 ok)
4. django application 만들고 등록하기
5. application 하위 목록에 templates 폴더 만들고 그 하위에 html 파일 만들기



6. 내가 만든 application 폴더 안에 views.py에서 어떤 요청이 들어올 경우 원하는 html파일을 보여주는 함수를 만들 수 있다. 함수 이름은 home이다.
from django.shortcuts import render
# Create your views here.
def home(request):
return render(request, 'index.html')
def test(request):
return render(request, 'test.html')
7. 위에서 만든 home함수가 언제 실행될 지 urls.py에 정의해야 한다. 어떤 url에 요청이 들어왔을 때 어떤 함수를 실행시킬지 정의해야 한다는 것이다.
import dashboard.views
urlpatterns = [
path('admin/', admin.site.urls),
path('', dashboard.views.home, name = "Hello_world"),
path('test/', dashboard.views.test, name = "Hello")
]
#http://127.0.0.1:8000/foo url에 대해 요청이 들어왔을 때 dashboard라는 application 폴더 안에 있는 views.py파일에 있는 home 함수를 실행시켜라


'멋쟁이사자처럼' 카테고리의 다른 글
[멋쟁이사저처럼10기] Django static 파일 다루기 (0) | 2022.06.26 |
---|---|
[멋쟁이사자처럼10기] Django url mapping 다루기 (0) | 2022.05.29 |
[멋쟁이사자처럼10기] Django와 친해지기 (0) | 2022.05.21 |
[멋쟁이사자처럼10기] python_SMTP 서버로 메일보내기 (0) | 2022.05.07 |
[멋쟁이사자처럼10기] Python를 이용해서 언어를 감지하고, 번역하기 (0) | 2022.05.07 |