tech/finance

21/06/24 stock dashboard 만들기 #1 - python django

tech-lover 2021. 6. 24. 13:09

groomide (django vm) 생성 (mysql 포함)

Django 프로젝트 생성 및 준비

  1. django-admin startproject 프로젝트 생성
  2. cd 프로젝트 폴더로 이동
  3. python manage.py startapp 하위 프로그램(서브 앱) 생성
  4. python manage.py migrate : DB(mysql, sqlite3) 파일 생성
  5. python manage.py createsuperuser : 관리자 계정 생성
    x. project folder/file 추가
  6. python manage.py runserver 서버 실행
$ django-admin startproject dashboard
$ python manage.py startapp stock

관리자페이지( http://localhost:8000/admin/ ) 접속 환경 설정 (DB, 관리자 ID 생성)

Django 기본 DB 만들기

$ python manage.py migrate

Django 대시보드 관리자 아이디 만들기

Django 대시보드 프로젝트 전체를 관리하는 관리자 아이디 생성

$ python manage.py createsuperuser

dashboard/settings.py

  • INSTALLED_APPS 추가,
  • LANGUAGE_CODE, TIME_ZONE 수정
  • ALLOWED_HOSTS = ['*']
  • 실제 release DEBUG = False 로 변경
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'stock'
]

LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'  

DEBUG = False
ALLOWED_HOSTS = ['*']

dashboard/urls.py

  • stock.urls path 추가
from django.contrib import admin
from django.urls import path, include

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

stock/urls.py 생성

from django.urls import path, include
from . import views

urlpatterns = [
    path('home', views.home, name='home'),
    path('stock', views.stock, name='stock'),
    path('', views.index, name='index'),
]

stock/templates/stock/index.html 추가

<h1>Hello World</h1>

stock/templates/stock/stock.html 추가

<h1>Stock List</h1>

stock/templates/home.html 추가

<h1>This is Home Page</h1>

stock/views.py

from django.shortcuts import render

def index(request):
    return render(request, 'stock/index.html', {})

def stock(request):
    return render(request, 'stock/stock.html', {})

def home(request) :
    return render(request, 'home.html', {})

Django서버 실행

$ python manage.py runserver '0.0.0.0:80'