Bootstrap 공부를 제대로 해보려고 한다. 혼자서 처음부터 끝까지 화면을 구성해보는 작업을 진행한다.

 

Bootstrap은 row가 12grid로 이루어져 있다. 

 

col-md-4에서 m은 medium을 의미 medium보다 작아지면 원래 div인 여러줄로 나타내라는 뜻.

 

기본적으로 Bootstrap에서 제공하는 색상은 

primary, secondary, success, danger, warning, info, light, dark가 있다. 클래스에 넣어서 사용하면 된다. 

 

Breadcrumb -> 경로를 표시할 때 

Carousel -> 사이트 대표 이미지 슬라이드 같은 느낌 

Collapse -> 누르면 설명 나오는 것

 

주말동안 계속 Django project를 생성했다.

Django tutorial를 보고 따라한 library project에서 catalog라는 app을 생성하고 Redirect 해주었다.

근데 다른 Django project 진행해서 처음 서버를 실행하는데 자꾸 자동으로 catalog로 Redirect 되었다.

계속 방법을 고민하던 끝에 크롬의 기록 초기화를 했더니 정상적으로 작동했다. ㅡ.ㅡ

 

이미 브라우저가 캐쉬로 화면을 구성해놓고 있어 이런 오류가 생기는 것으로 알고 있다. 

'Back-End > Django' 카테고리의 다른 글

Static 사용할 때  (0) 2021.07.21
장고 순환 참조 문제  (0) 2021.07.21
templates extends 관련  (0) 2021.07.21
Django Admin 페이지 수정  (0) 2021.07.11
Django 설치하기  (0) 2021.07.10

http://frontend.diffthink.kr/2018/12/book-4-django-admin.html

 

(BOOK) 4. Django의 핵심 기능 - Admin 사이트 꾸미기

프론트엔드 이슈 UI/UX, CSS, Javascript 등이 주제입니다.

frontend.diffthink.kr

여기에 잘 나타나 있어서 참고하면 되겠다.

'Back-End > Django' 카테고리의 다른 글

Static 사용할 때  (0) 2021.07.21
장고 순환 참조 문제  (0) 2021.07.21
templates extends 관련  (0) 2021.07.21
Django 자동으로 Redirect 될 때  (0) 2021.07.12
Django 설치하기  (0) 2021.07.10

https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/development_environment

 

Django 개발 환경 세팅하기 - Web 개발 학습하기 | MDN

이제 장고가 무엇인지 알았으니, 윈도우, 리눅스(우분투), 맥 OS X에서 어떻게 장고 개발환경을 세팅하는지, 설치 후에는 어떻게 테스트하는지 살펴보겠습니다. 즉 이 문서를 통해서는 사용하

developer.mozilla.org

항상 하는 장고 기본 설정을 정리하려고 한다. 

 

순서는 

 

python 설치 -> virtualenv 설치 -> 장고 프로젝트 생성 -> url 세팅이다. 

 

1. python 설치 : sudo apt install python3-pip (버전 확인 python3 -V)

2. virtualenv 설치 : sudo pip3 install virtualenvwrapper 

-> 가상환경 설치 이유

파이썬에서는 프로젝트별로 독립된 가상 환경을 만들어주는 virtualenv 툴을 제공한다.
독립된 가상 환경이 필요한 이유는 인터넷에서 다운로드한 파이썬 라이브러리들이 충돌을 일으키는것을 방지하기 위함
(외부 라이브러리들은 서로 의존성을 가지고 있는 경우가 많아 버전이 맞지 않은 경우 오작동을 일으킬 수 있음)

 

3. 홈화면에 숨겨져 있는 파일인 .bashrc 파일을 찾아서 맨 마지막에 다음을 추가 

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

4. 가상환경 생성 : mkvirtualenv my_django_environment

 

  • deactivate — 활성화된 파이썬 가상 환경을 비활성화한다
  • workon — 사용가능한 가상 환경 목록을 보여준다
  • workon name_of_environment — 특정 파이썬 가상 환경을 활성화한다
  • rmvirtualenv name_of_environment — 특정 환경을 제거한다.

 

5. Django 설치 : pip3 install django (python3 -m django --version 장고 버전확인)

6. 테스트 할 폴더 생성 : 

mkdir django_test
cd django_test

7. Django 프로젝트 폴더 생성

django-admin startproject mytestsite
cd mytestsite

8.  Django 정상적인 동작 확인 : python3 manage.py runserver

9. 개발 진행할 프로젝트 폴더 생성 : python3 manage.py startapp main 

10. main 폴더의 views.py 내용 추가

from django.http import HttpResponse

def index(response):
	return HttpResponse("안녕하세요")

11. main 폴더에 urls.py 파일 생성 아래 내용 추가

from django.urls import path

from . import views

urlpatterns = [
path("", views.index, name="index"),
]

12. 그 다음 기존 mytestsite의 urls.py에 코드 수정 (main폴더를 연결해주는 과정)

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

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

 

'Back-End > Django' 카테고리의 다른 글

Static 사용할 때  (0) 2021.07.21
장고 순환 참조 문제  (0) 2021.07.21
templates extends 관련  (0) 2021.07.21
Django 자동으로 Redirect 될 때  (0) 2021.07.12
Django Admin 페이지 수정  (0) 2021.07.11

Django Ninja 공식 페이지 : https://django-ninja.rest-framework.com/

 

장고 닌자는 FAST API에서 영감을 받아서 만들어진 Web FrameWork이다. 

빠른속도와 쉬운 사용법 Swagger 기능 지원을 제공하고 있다. 

아직 초기 버전이지만 서비스를 하기에는 무리가 없다. 

 

Django Ninja는 Python 3.6버전 이상부터 지원한다. 

 

Pydantic을 사용한다. (데이터 값의 검증을 위해 사용한다. 클라이언트에서 서버로 보낸 데이터가 실제로 필드의 형식에 맞는지 확인하는 절차이다.)

 

async support 비동기를 지원한다.

 

공식문서에 있는 영상 튜토리얼을 통해 Django Ninja의 사용방법을 정리해본다. 

참고 영상 : Django Ninja Tutorial

 

 

1. 프로젝트 생성

 

 

1) 장고 닌자를 설치한다.

pip install django-ninja

 

 

2) 실습을 진행할 Django 프로젝트를 만든다.

django-admin startproject djninja

 

 

3) 실습에 필요한 tracks app을 만든다. 

python manage.py startapp tracks

 

 

4) settings.py 수정

INSTALLED_APPS = [
	....
    
    'tracks',
]

 

 

2. 간단한 테스트

 

 

1) tracks/api.py

from ninja import NinjaAPI

api = NinjaAPI()

@api.get("/test")
def test(request):
	return {"test": 'success'}

api를 구현할 app폴더에 api.py를 생성하고 테스트를 위해 위와 같이 작성한다. 

Django Ninja를 사용할 api라는 이름의 객체를 만들어 주었다. 

데코레이터를 통해 @api.method("접속할 url") 형식으로 적는다. 

POST POST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
GET GET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
PUT PUT를 통해 해당 리소스를 수정합니다.
DELETE DELETE를 통해 리소스를 삭제합니다.

출처 : https://meetup.toast.com/posts/92

 

 

2) djninja/urls.py

...
from tracks.api import api

urlpatterns = [
	...
    path('api/', api.urls),
]

urls.py에 api 서버경로를 추가해준다. 

 

 

3) migration을 진행해준다. 

python manage.py makemigrations & python manage.py migrate

 

 

4) 서버 실행, 테스트

python manage.py runserver

서버가 실행되었으면 127.0.0.1/api/test/ 로 접속하면 "test" : 'success'를 확인할 수 있을 것이다. 

 

 

3. 실습

 

 

1) 실습에 필요한 데이터와 코드 가져오기

https://github.com/bugbytes-io/django-ninja-v1 

위 git hub로 들어가서 밑에 적어놓은 코드와 데이터를 복사해서 똑같은 구조로 만들어 준다. 

(1) data/tracks.json

(2) tracks/management/__init__.py, ingest_tracks.py

 

(똑같은 구조로 만들 것이기 때문에 폴더까지 그대로 가져와도 된다.)

 

 

2) tracks/models.py 작성

from django.db import models

class Track(models.Model):
    title = models.CharField(max_length=250)
    artist = models.CharField(max_length=250)
    duration = models.FloatField()
    last_play = models.DateTimeField()

 

 

3) migration 진행

python manage.py makemigrations & python manage.py migrate

 

 

4) ingest_tracks.py를 통해 tracks.json에서 데이터 추출

python manage.py ingest_tracks

 

 

튜토리얼 2에서 이어집니다.

 

'Back-End > Django-ninja' 카테고리의 다른 글

Django Ninja Render  (0) 2021.11.30
Django Ninja Tutorial 5  (0) 2021.11.30
Django Ninja Tutorial 4  (0) 2021.11.30
Django Ninja Tutorial 3  (0) 2021.11.29
Django Ninja Tutorial 2  (0) 2021.11.29

+ Recent posts