가상환경 만들기
장고 프로젝트에 필요한 플러그인 등 버전을 관리하기 위해 가상환경이 필요하다.
가상환경 없이 그냥 설치해버리면 프로젝트마다 프로그램 버전이 달라서 문제가 생길 수 있어서,
한 프로젝트마다 해당 프로젝트에 맞는 도구를 넣는 공구함이라고 생각
작업할 폴더 만든 후 그 폴더 안에서 시작
터미널에 가상환경 설정
python -m venv djangovenv
F1
select interpreter -> python:Select interpreter 선택
설정했던 가상환경 폴더와 같은 이름의 항목을 선택
터미널에 + 로 새로운 터미널 실행
--> 터미널에 에러가 뜸
& : 이 시스템에서 스크립트를 실행할 수 없으므로 D:\jeongyeonju\prac\pyt
hon\djangovenv\Scripts\Activate.ps1 파일을 로드할 수 없습니다. 자세한
내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID
=135170)를 참조하십시오.
위치 줄:1 문자:3
+ & d:/jeongyeonju/prac/python/djangovenv/Scripts/Activate.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : 보안 오류: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
명령어 다음과 같이 입력
ExecutionPolicy <-- 현재상태확인
Restricted <-- 모든 스크립트 막은 상태
Set-ExecutionPolicy Unrestricted
ExecutionPolicy <-- 현재상태확인
Unrestricted <-- 모든 스크립트 허용 상태
해결나지 않아서, 집에 있는 노트북으로 했는데
바로 새로운 터미널 생성되었다.
본격 장고 설치
1.장고 설치
python -m pip install django
2.프로젝트 생성
django-admin startproject 프로젝트명
django-admin startproject firstproject
해당 폴더로 이동 후
python manage.py runserver
새로운 앱 만들기
앱만들기
python manage.py startapp 앱이름
python manage.py startapp firstapp
앱을 사용을 위해 알리기
firstapp폴더에서 apps.py 열기
FirstappConfig 클래스를 firstproject의 settings.py에 연동
firstapp.apps.FirstappConfig
입력
새로 만든 앱의 뷰 작성
firstapp/view.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
뷰를 호출하기 위해선 URl이 있어햐 하는데, URLconf가 필요하다
firstapp폴더에 urls.py 파일 생성
firstapp/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
최상위 폴더인 firstproject/urls.py
django.urls.include를 import하고
include()함수 추가
include() 함수는 다른 URLconf들을 참조할 수 있도록 도와줍니다. Django가 함수 include()를 만나게 되면, URL의 그 시점까지 일치하는 부분을 잘라내고, 남은 문자열 부분을 후속 처리를 위해 include 된 URLconf로 전달합니다.
장고와 MariaDB 연동을 위해 라이브러리(mysqlclient)를 설치한다.
pip install mysqlclient
장고 sqlite3 대신 사용할 db 접속 정보 설정하기
settings.py
위 내용을 아래로 바꾸기
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'aitrading_db',
'USER':'root',
'PASSWORD':'1234',
'HOST':'localhost',
'PORT':'3307',
}
}
일단 여기까지 학습을 했다.
아래 페이지를 보고 따라 할 생각인데,
python manage.py createsuperuser
이거 설정하는 부분이 잘 안되서 다시 해봐야겠다.
https://docs.djangoproject.com/en/4.1/intro/tutorial02/