행위

"파이썬 장고"의 두 판 사이의 차이

DB CAFE

(프로젝트시작)
 
(같은 사용자의 중간 판 10개는 보이지 않습니다)
1번째 줄: 1번째 줄:
# 장고
+
= 장고=
## 모듈 구성도
+
== 모듈 구성도==
 
[[파일:장고 모듈 구성도.PNG||왼쪽]]
 
[[파일:장고 모듈 구성도.PNG||왼쪽]]
## 프레임워크 구조   
+
== 프레임워크 구조  ==
 
[[파일:Djanggo.png||가운데]]
 
[[파일:Djanggo.png||가운데]]
## 가상화
+
=== 장고 파일 구조 ===
### source myvenv/bin/activate
+
<source lang=python>
## 프로젝트시작
+
├── db.sqlite3
### django-admin startproject myprj .
+
├── manage.py
## 디렉토리구조
+
├── mysite
### /
+
│  ├── __init__.py
* manage.py
+
│  ├── settings.py
    * 사이트 관리  
+
│  ├── urls.py
    * 서버시작
+
│  └── wsgi.py
        * python manage.py runserver  
+
└── app
        * python manage.py runserver 0.0.0.0:8000
+
    ├── __init__.py
### myprj
+
    ├── admin.py
* settings.py
+
    ├── apps.py
     * 웹사이트설정
+
    ├── migrations
    * TIME_ZONE
+
    │  └── __init__.py
        * = 'Asia/Seoul'
+
    ├── models.py
    * STATIC_URL
+
    ├── tests.py
        * = '/static/'
+
    └── views.py
            * 정적파일위치
+
</source>
                * CSS
+
 
    * STATIC_ROOT
+
== 가상화 ==
        * = os.path.join(BASE_DIR,'static')
+
<source lang=python>
    * ALLOWED_HOSTS
+
source myvenv/bin/activate
        * = ''
+
</source>
            * 로컬호스트
+
 
            * [::1]
+
== 프로젝트시작==
            * 127.0.0.1
+
<source lang=python>
        * 배포시
+
django-admin startproject myprj .
            * ALLOWED_HOSTS
+
</source>
                * = ['127.0.0.1','.xxx.com']
+
 
    * MESSAGE_STORAGE
+
== 디렉토리구조 ==
        * 크롬북 사용자 일때
+
=== manage.py ===
        * = 'django.contrib.messages.storage.session.SessionStorage'
+
 
    * DATABASES
+
=== * 사이트 관리 ===
        * = {
+
=== * 서버시작 ===
'default' : {
+
<source lang=python>
  'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
+
python manage.py runserver  
  }
+
or -- 포트 지정할 경우
}
+
python manage.py runserver 0.0.0.0:8000
        * DB설정
+
</source>
            * python manage.py migrate
+
 
                * DB생성 명령
+
=== settings.py ===
    * INSTALLED_APPS
+
<source lang=python>
 +
INSTALLED_APPS = [
 +
     'django.contrib.admin',
 +
    'django.contrib.auth',
 +
    'django.contrib.contenttypes',
 +
    'django.contrib.sessions',
 +
    'django.contrib.messages',
 +
    'django.contrib.staticfiles',
 +
    'app',
 +
]
 +
</source>
 +
==== 웹사이트설정 ====
 +
<source lang=python>
 +
TIME_ZONE = 'Asia/Seoul'
 +
STATIC_URL = '/static/'
 +
      * 정적파일위치
 +
      * CSS
 +
STATIC_ROOT = os.path.join(BASE_DIR,'static')
 +
ALLOWED_HOSTS = ''
 +
      * 로컬호스트
 +
      * [::1]
 +
      * 127.0.0.1
 +
배포시
 +
ALLOWED_HOSTS = ['127.0.0.1','.xxx.com']
 +
MESSAGE_STORAGE
 +
크롬북 사용자 일때 = 'django.contrib.messages.storage.session.SessionStorage'
 +
DATABASES = {
 +
            'default' : {
 +
                        'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 +
                        }
 +
            }
 +
</source>
 +
 
 +
=== DB설정 ===
 +
<source lang=python>
 +
python manage.py migrate
 +
</source>
 +
 
 +
* DB생성 명령
 +
* INSTALLED_APPS
 
         * = [  
 
         * = [  
 
......
 
......
54번째 줄: 93번째 줄:
 
* wsgi.py
 
* wsgi.py
 
* __init__.py
 
* __init__.py
## 어플리케이션생성
+
 
### 명령
+
=== 어플리케이션생성 ===
* python manage.py startapp blog
+
<source lang=python>
* blog
+
python manage.py startapp blog
 +
</source >
 +
<source lang=python>
 +
    * blog  
 
     * migrations
 
     * migrations
 
         * __init__.py
 
         * __init__.py
106번째 줄: 148번째 줄:
 
     * tests.py
 
     * tests.py
 
     * views.py
 
     * views.py
 +
</source>
 
* 장고에 등록하기
 
* 장고에 등록하기
 +
 
[[Category:python]]
 
[[Category:python]]

2021년 6월 9일 (수) 14:36 기준 최신판

thumb_up 추천메뉴 바로가기


1 장고[편집]

1.1 모듈 구성도[편집]

장고 모듈 구성도.PNG

1.2 프레임워크 구조[편집]

Djanggo.png

1.2.1 장고 파일 구조[편집]

├── db.sqlite3
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── app
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py

1.3 가상화[편집]

source myvenv/bin/activate

1.4 프로젝트시작[편집]

django-admin startproject myprj .

1.5 디렉토리구조[편집]

1.5.1 manage.py[편집]

1.5.2 * 사이트 관리[편집]

1.5.3 * 서버시작[편집]

python manage.py runserver 
or -- 포트 지정할 경우 
python manage.py runserver 0.0.0.0:8000

1.5.4 settings.py[편집]

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',
]

1.5.4.1 웹사이트설정[편집]

TIME_ZONE = 'Asia/Seoul'
STATIC_URL = '/static/'
      * 정적파일위치
      * CSS
STATIC_ROOT = os.path.join(BASE_DIR,'static')
ALLOWED_HOSTS = ''
      * 로컬호스트
      * [::1]
      * 127.0.0.1
배포시
ALLOWED_HOSTS = ['127.0.0.1','.xxx.com']
MESSAGE_STORAGE
크롬북 사용자 일때 = 'django.contrib.messages.storage.session.SessionStorage'
DATABASES = {
            'default' : {
                        'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
                        }
            }

1.5.5 DB설정[편집]

python manage.py migrate
  • DB생성 명령
  • INSTALLED_APPS
       * = [ 

...... ,blog', ]

  • urls.py
  • wsgi.py
  • __init__.py

1.5.6 어플리케이션생성[편집]

python manage.py startapp blog
* blog 
    * migrations
        * __init__.py
    * __init__.py
    * admin.py
    * models.py
        * 데이터모델생성
            * 전체소스...
             * > from django.db import models
             * > from django.utils import timezone
             * > 
             * > 
             * > class Post(models.Model):
             * >     author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
             * >     title = models.CharField(max_length=200)
             * >     text = models.TextField()
             * >     created_date = models.DateTimeField(
             * >             default=timezone.now)
             * >     published_date = models.DateTimeField(
             * >             blank=True, null=True)
             * > 
             * >     def publish(self):
             * >         self.published_date = timezone.now()
             * >         self.save()
             * > 
             * >     def __str__(self):
             * >         return self.title

            * from django.db import models
            * from django.utils import timezone
            * class Post(models.Model):
                *     author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
                    * 저자 컬럼
                *     title = models.CharField(max_length=200)
                    * 타이틀 컬럼
                *     text = models.TextField()
                    * 내용 컬럼
                *     created_date = models.DateTimeField(
            default=timezone.now)
                    * 생성일자 컬럼
                *     published_date = models.DateTimeField(
            blank=True, null=True)
                *     def publish(self):
                    *         self.published_date = timezone.now()
                    *         self.save()
                *     def __str__(self):
                    *         return self.title
    * tests.py
    * views.py
  • 장고에 등록하기