티스토리 뷰

728x90
반응형

1. Shell에서 초기 설정하기

 

pip install django

 

django-admin startproject config .

 

python manage.py migrate

 

python manage.py startapp my_app

 

python manage.py createsuperuser

 

python manage.py runserver

 

 

 

 

 

 

 

 

2. Admin 환경

 

 

3.초기설정 참고

URLS Include 설정 > Config

#config/url.py

from django.contrib import admin
from django.urls import path, include

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

]

 

URLS Include 설정 > my_app

#my_app/url.py

from django.urls import path, include
from . import views
urlpatterns = [
    path ('', views.index, name='index'),
    path ('lists/', views.url_list_view, name='url_list_view'),

]

 

기본 View 로직 설정 : Response 정보 참고 (template 없이) 

 

#my_app/views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

def url_list_view(request):
    return HttpResponse("This is the URL list view")

 

모델만들기 ORM 예제

from django.db import models

class my_app(models.Model):
    key = models.AutoField(primary_key=True)  # 기본키로 자동 증가 필드
    date = models.CharField(max_length=10)   # 날짜 필드 : string 으로 저장 (YYYY-MM-DD)
    action = models.CharField(max_length=100)  # Action 구분, 길이는 필요에 따라 조정
    execution_time = models.TimeField()  # 수행시간 필드
    created_at = models.DateTimeField(auto_now_add=True)  # 입력일, 자동으로 현재 시간 설정
    created_by = models.CharField(max_length=100)  # 입력자
    updated_at = models.DateTimeField(auto_now=True)  # 수정일, 업데이트 시 자동으로 변경
    updated_by = models.CharField(max_length=100)  # 수정자

    class Meta:
        db_table = 'My_App_Master'  # 실제 데이터베이스 테이블 이름 지정

    def __str__(self):
        return f"{self.key} - {self.ad_type}"

 

APP을 Settings.py에 등록

#config>settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp.apps.myappconfig', #신규 앱 추가
]

 

생성한 SQL 테이블 정보 반영

python manage.py makemigrations my_app
python manage.py sqlmigrate my_app 0001

 

관리자 페이지 등록 설정 

#my_app/admin.py
from django.contrib import admin
from .models import my_app
admin.site.register(my_app)

 

 

728x90
반응형