TIL - python - django

연주·2022년 11월 9일
0

KDT-TIL

목록 보기
33/36

가상환경 만들기
장고 프로젝트에 필요한 플러그인 등 버전을 관리하기 위해 가상환경이 필요하다.
가상환경 없이 그냥 설치해버리면 프로젝트마다 프로그램 버전이 달라서 문제가 생길 수 있어서,
한 프로젝트마다 해당 프로젝트에 맞는 도구를 넣는 공구함이라고 생각

작업할 폴더 만든 후 그 폴더 안에서 시작

  1. 터미널에 가상환경 설정
    python -m venv djangovenv

  2. F1 select interpreter -> python:Select interpreter 선택
    설정했던 가상환경 폴더와 같은 이름의 항목을 선택

  3. 터미널에 + 로 새로운 터미널 실행

--> 터미널에 에러가 뜸

& : 이 시스템에서 스크립트를 실행할 수 없으므로 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

  1. manage.py 실행

해당 폴더로 이동 후
python manage.py runserver

  1. http://127.0.0.1:8000/ 로 이동하면 서버가 나온다.

새로운 앱 만들기

  1. 앱만들기
    python manage.py startapp 앱이름
    python manage.py startapp firstapp

  2. 앱을 사용을 위해 알리기
    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/

profile
성장중인 개발자🫰

0개의 댓글