Django with Python 2.Django 프로젝트 생성/ 앱 생성/계산기페이지 만들기

mingki·2022년 4월 9일
0

Django

목록 보기
2/2
post-thumbnail

❤️ github 주소 : https://github.com/qkralswl689/Django/tree/main/first-django

1.Django의 기본로직

클라이언트 -> urls.py -> view -> model or template(선택적) -> view -> 클라이언트

2.Django 프로젝트 생성하기

mac 환경에서 실행했을경우의 명령어이다(vscode에서 터미널을 생성하여 아래 명령어를 순서대로 입력한다)
1.가상환경 설치 : python3 -m venv venv
2.가상환경 접속 : source venv/bin/activate
3.장고 설치 : pip3 install django
4.장고 프로젝트 생성 : django-admin startproject confg .

2-1.생성한 프로젝트의 구조

Django를 생성하면 생기는 폴더, 파일 2가지 : 1.config 폴더 2.manage.py 파일

  • manage.py : Django한테 명령어를 사용할 수 있도록 하는 파일
  • config
    - init.py : 파이썬 패키지라는것을 알려주는 파일
    • asgi.py / wsgi.py : 배포할 때 사용하는 파일
    • urls.py : url을 정의하는 파일
    • settings.py : Django가 실행되는데 있어 필요한 설정값 들이 들어가있는 파일 * 중요!

3.계산기 페이지 만들기

3-1.앱 생성하기

명령어 : django-admin startapp demos

3-2.앱의 구성

앱을 생성하면 생기는 폴더, 파일 : 1.migrations 폴더 2.admin.py 3.app.py 4models.py 5.tests.py 6.views.py

  • migrations : models.py 를 사용할 때 기록을 남기는것곳
  • admin.py : 관리자 인터페이스
  • app.py : app의 이름 등 정보를 관리
  • models.py : 데이터를 정의하고 정의된 데이터를 기준으로 DB를 생성한다
  • tests.py : 테스트코드 작성하는곳
  • views.py : 실제로 작동하는 기능을 작성하는곳
  • 프로젝트 구성

3-3.app 추가하기

app을 생성하면 config 폴더의 settiong.py에 추가해야한다

 # 생략..
 # 뒤에 ","를 꼭 붙혀줘야한다
 INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'demos',
]
 # 생략..

3-4.html 작성

demos 폴더에 templates폴더를 추가한후 calculator.html 파일을 생성한다

<!DOCTYPE html>
<html lang="en">

<head>

</head>

<body>
    <h1>뚱스 계산기!</h1>
    <form action="">
        <input type="text" name="num1">
        <select name="operators">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>
        <input type="text" name="num2">
        <input type="submit">
        <br>
        결과값 : {{result}}
    </form>
    
</body>

</html>

3-5.기능 작성

views.py에 기능을 작성한다


from django.http import HttpResponse
from django.shortcuts import render
from django.http import HttpResponse

# request 를 꼭 입력해줘야한다 -> Django의 약속
def calculator(request):

    # 입력된 데이터 가져오기
    num1 = request.GET.get('num1')
    num2 = request.GET.get('num2')
    operators = request.GET.get('operators')

    # 계산
    if operators == '+':
        result = int(num1) + int(num2)
    elif operators == '-':
        result = int(num1) - int(num2)
    elif operators == '*':
        result = int(num1) * int(num2)
    elif operators == '/':
        result = int(num1) / int(num2)
    else:
        result = 0
    
    # 계산된 값 html에 보내주기
    return render(request, 'calculator.html', {'result': result})

3-5.url 추가

config폴더의 url.py에 url을 추가해준다

from django.contrib import admin
from django.urls import path
from demos.views import calculator

urlpatterns = [
    path('admin/', admin.site.urls),
    path('calculator/', calculator)    
]

3-6.서버 실행

터미널에 서버 실행 명령어를 입력한다
장고 서버 실행 : python3 manage.py runserver

  • 실행결과
profile
비전공초보개발자

0개의 댓글