6/8-9

설치

cd ~
conda create -n mysite
conda activate mysite
conda deactivate
conda activate mysite
sudo apt install python3-pip
pip3 install django=3.1.3
sudo apt-get install python3-django

프로젝트 생성

cd
mkdir projects
cd projects
mkdir mysite
cd mysite
django-admin startproject config .
python3 manage.py runserver  #접속

URL

**#pybo 앱 생성**
django-admin startapp pybo
ls -al pybo/
python3 manage.py runserver #확인

**#(1)config/urls.py 수정**
#from django.contrib import admin
#from django.urls import path
#from pybo import views
#
#urlpatterns=[
#	path('admin/', admin.site.urls),
#	path('pybo/', views.index), 
#]

**#(2)pybo/view.py 작성**
#from django.htpp import HttpResponse
#
#def index(request)
#	resturn HttpResponse("Hello")

#================================================================

**#URL 분리**
**#(1)config/urls.py 수정**
#from django.contrib import admin
#from django.urls import path, include
#from pybo import views
#
#urlpatterns=[
#	path('admin/', admin.site.urls),
#	path('pybo/', include('pybo.urls')), 
#]

**#(2)pybo/urls.py 생성**
#from django.urls import path
#from . import views
#
#urlpatterns = [
#	path('',views.index),
#]
****
python3 manage.py runserver #확인

#alias mysite 설정
code /home/[유저명]/.bashrc
#alias mysite="conda activate mysite; cd ~/projects/mysite"   추가

Model

mysite
code pybo/models.py       #클래스로 모델 작성 - Question, Answer
code mysite/settings.py   #pybo 앱 등록
#INSTALLED_APPS[ 'pybo.apps.PyboConfig', ]
code pybo/apps.py         #자동생성 되었는지 확인

python3 manage.py makemigrations    #테이블 작업 파일 생성
				    #pybo/migrations/0001_initial.py 생성되었는지 확인
python3 manage.py migrate           #테이블 생성

데이터 저장, 조회, 수정, 삭제..

python3 manage.py shell     #장고 셸 실행
>>>from pybo.models import Question, Answer
>>>from django.utils import timezone()
>>>q=Question(subject='', content='', create_date=timezone.now()) #모델 데이터 만들기
>>>q.id
>>>Question.objects.all()               **#모두 조회**
#속성값 보여주려면 모델에 아래 메소드 추가하고 장고 셸 재실행
#def __str__(self):
#    return self.subject

>>>Question.objects.filter(id=1)	                **#조건 조회1** - 리스트형
>>>Question.objects.get(id=1)                           **#조건 조회2** - 하나만
>>>Question.objects.filter(subject__contains='장고')	**#조건 조회3** - 제목 일부로 검색
>>>q=Question.objects.get(id=2)
>>>q.subject='Django Model Question'    **#속성 수정**
>>>q.save()    **#저장**
>>>q.delete()  **#삭제**
>>>a=Answer.objects.get(id=1) #Answer 하나 만들었다 치자
>>>a.question                 #답변이 있는 질문 조회
>>>a.answer_set.all()         #질문을 통해 답변 찾기

code 참고

pahkey/djangobook

막판에 config/urls.py 랑 pybo/urls.py를 혼동해서 접속 안되가지구 또 성질 더러워짐...

render(request, template_name, context=None, ...)