본문 바로가기

IT/Django

[Django] #1 Django 웹페이지 만들기 사전작업 - Python 가상환경 설정, Django/ settings.py 수정, admin 생성

 

<목차>

*** django 프로젝트

 

 

*** django 프로젝트

 

 

 

0. 가상환경 만들기

 

# 가상환경 만들기
python -m venv 가상환경 이름

# 가상환경 활성화 하기
venv/Scripts > activate.bat

 

 

 

 

 

1. django 설치

: 필요하다면 django 패키지를 설치해준다.

pip install django

 

 

 

 

2. project 시작

# config 만들어주기
django-admin startproject config .


# app 만들어주기
python manage.py startapp 프로젝트 이름

-> 이 글에서 app은 'blog'로 진행한다.

 

 

 

** 파일 dir 확인

Proj/
    manage.py
    config/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
    blog/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py

 

 

 

 

 

3. server 확인

 

python manage.py runserver

 

 

실행 화면

 

 

http://127.0.0.1:8000/ 주소로 위와 같은 화면이 뜨면 정상적으로 서버가 구동된 것이다.

 

 

 

 

 

4. settings.py 수정

 

  1) INSTALLED_APPS 에 app 추가해주기

 

  2) TEMPLATES 에 루트 추가 : 'DIRS' : [BASE_DIR/" templates "]

 

  3) LANGUAGE_CODE = 'ko-kr'

 

  4) TIME_ZONE = 'Asia/Seoul'

 

 

++++

 

 

**중요**

Static 과 Media 설정 및 config/urls.py 설정

# Static 설정
STATIC_URL = 'static/'
STATICFILES_DIRS = [BASE_DIR / "static"]

# Media 설정
MEDIA_ROOT = Path(BASE_DIR, "media")
MEDIA_URL = "/media/"

 

 

# config/urls.py 설정


from django.contrib import admin
from django.urls import path, include
from RpaDashboard import views #blog 앱의 views 불러오기
from django.conf.urls.static import static
from django.conf import settings


urlpatterns = [
    # http://127.0.0.1:8000/admin/
    path('admin/', admin.site.urls),
    # http://127.0.0.1:8000/blog/
    path('blog/', include('blog.urls')),
]


# media setting => 외부 접근 설정.
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

 

 

 

# Django의 Auth User 모델을 쓴다면? 바로 python manage.py migrate 실행. 

그렇지 않다면 user 모델 생성 후 makemigrations, migrate 하기.

migrate 설정 Fatal

 

 

 

 

 

 

5. admin 생성 및 로그인

: (django의 user모델을 사용하려면) migrate 하여 createsuperuser 하기

# 장고의 user 모델 또는 개발자의 user 모델 migrate 완료 후

# 관리자 계정 만들기
python manage.py createsuperuser

 

--> python manage.py runserver 실행, admin 페이지 확인 및 로그인 진행

http://127.0.0.1:8000/admin/

 

admin 로그인 이후 페이지

 

-> django의 user 모델은 migrate를 해주었기 때문에 default로 생성되어 있는 것을 볼 수 있다.