728x90
반응형
파이참에서 파이썬 프로젝트를 새로 시작하려면 장고를 먼저 설치해야하고, 설정할 파일들이 많다.
이걸 먼저 정리해보겠다.
1. 장고를 설치
(venv) C:\Users\user\PycharmProjects\exercise>pip install django
2. config 파일 설정
(venv) C:\Users\user\PycharmProjects\exercise>django-admin startproject config .
3. app 파일 설정
(venv) C:\Users\user\PycharmProjects\exercise>python manage.py startapp diaryapp
4. 데이터베이스 설정
(venv) C:\Users\user\PycharmProjects\exercise>python manage.py migrate
관리자 계정을 설정하는 법을 배웠으니 일단 그걸 설정하는 법도 정리
5. 관리자 계정 설정
(venv) C:\Users\user\PycharmProjects\exercise>python manage.py createsuperuser
Username (leave blank to use 'user'): yujin
Email address: yujin@gmail.com
Password:
Password (again):
5-1. 관리자 계정을 설정하고 서버를 돌려서 제대로 돌아가는지 확인해보기
(venv) C:\Users\user\PycharmProjects\exercise>python manage.py runserver
위는 서버를 돌리는 코드
아래 주소를 주고 들어가면
http://127.0.0.1:8000/admin/
어드민 계정으로 접속할 수 있다.
여기서 Notice에 있는 내용을 등록, 수정, 삭제하는 프로그램을 ORM으로 만들 수 있다.
일단 순서를 정리하면
models.py에서 dao연결 할 내용 등록 -> views.py에서 사용자로부터 받아올 값+전송할데이터 정리 -> urls.py에서 파일 이동할 주소 정리
models.py 파일
from django.db import models
from django.urls import reverse
# Create your models here.
class Member(models.Model):
name=models.CharField(max_length=34)
sex=models.CharField(max_length=4)
addr=models.TextField()
tel=models.TextField()
def __str__(self):
return self.name+"("+self.sex+")"
#args --> ?뒤에 값을 주는 것
def get_absolute_url(self):
return reverse('detail',args=[str(self.id)])
이동할 path값을 정해주는 urls.py 파일
from django.urls import path
# 세개 동시에 줄때는 from .views import *
from .views import MemberListView
from .views import MemberCreateView
from .views import MemberDetailView
from .views import MemberDeleteView
from .views import MemberUpdateView
urlpatterns=[
path('',MemberListView.as_view(),name="list"),
path('add/',MemberCreateView.as_view(),name="add"),
path('detail/<int:pk>/',MemberDetailView.as_view(),name="detail"),
path('delete/<int:pk>',MemberDeleteView.as_view(),name="delete"),
path('update/<int:pk>',MemberUpdateView.as_view(),name='update'),
]
urlpatterns=[]에 사용할 path값을 등록해준다
views.py 파일
from django.shortcuts import render
from .models import Member
from django.views.generic.list import ListView
from django.views.generic.edit import CreateView,UpdateView,DeleteView
from django.views.generic.detail import DetailView
from django.urls import reverse_lazy
#데이터베이스 연결 (models.py) => 데이터를 읽어와서 html로 전송
'''
요청(URL) => admin.py(등록된 path) => models.py (데이터베이스 연동) => views.py => html전송
'''
# Create your views here.
class MemberListView(ListView):
model = Member
class MemberCreateView(CreateView):
model=Member
fields = ['name','sex','addr','tel']
success_url = reverse_lazy('list')
template_name_suffix = '_create'
class MemberDetailView(DetailView):
model=Member
class MemberDeleteView(DeleteView):
model=Member
success_url = reverse_lazy('list')
class MemberUpdateView(UpdateView):
model=Member
fields = ['name','sex','addr','name', 'tel']
template_name_suffix = '_update'
views.py는 장고에서 controller에 해당하는 파일이다. 사용자가 전달한 데이터, 사용자에게 다시 전달할 데이터를 정리해서 넘겨주면 된다.
728x90
반응형
'programming > Gukbi' 카테고리의 다른 글
국비 교육 103일차 - CURD 프로그램 (게시판) 만들기 (0) | 2021.05.27 |
---|---|
국비 교육 102일차 - django 프로젝트(리스트 출력, 페이지 나누기) (0) | 2021.05.25 |
국비 교육 100일차 - python 크롤링 및 개인프로젝트 시작 (0) | 2021.05.23 |
국비 교육 99일차 - python class, 상속, 파일 입출력 (0) | 2021.05.20 |
국비 교육 98일차 - python db연결, 함수화 (0) | 2021.05.20 |