반응형
SMALL

Web 공부 25

Django에서 npm package(toast ui) 사용하기

windows에서 사용해서 Ubuntu LTS를 이용했다. $ sudo apt-get install nodejs npm $ npm init "devDependencies": { "autoprefixer": "^7.1.2", "babel-preset-es2015": "^6.24.1", "babelify": "^7.3.0", "browserify": "^14.4.0", "node-sass": "^4.5.3", "postcss-cli": "^4.1.0" } node_modules와 package.jso이 생성됐으면 package.json에 추가한다. $ npm install $ npm install --save tui-image-editor STATIC_URL = '/static/' STATIC_ROOT=os..

Web 공부/Django 2022.04.05

클래스형 뷰

클래스(class) - 변수와 함수의 집합 클래스형 뷰(Classed based view) - 개발자들이 자주 쓸만한 view를 클래스로 만들어 둔 것 - django는 CRUD 각각의 클래스형 뷰 제공 ! def post_create(request): if request.method=='POST': post_form=PostForm(request.POST) if post_form.is_valid(): new_post=post_form.save() return redirect('post-detail',post_id=new_post.id) else: #GET post_form=PostForm() return render(request,'posts/post_form.html',{'form':post_form..

Web 공부/Django 2022.04.01

다양한 상황 대처

아직 저장된 데이터가 없다면? 작성된 글이 없으므로 화면에 적절한 문구를 나타내는게 좋음 {% if posts%} {% for post in posts %} {{post.title}} {{post.dt_created}} {{post.content|slice:"100"}} {% endfor %} {% else %} 보여줄 글이 없어요. 첫 글을 작성해보면 어떨까요? {% endif %} 게시글이 없다면 문구를 나타내는 코드 가져올 데이터가 존재하지 않는다면? 에러를 발생시켜야함 404 에러를 발생시키지않으면 500 에러인 서버 에러를 발생시킴 404에러를 발생시켜서 서버의 문제가 아닌 페이지가 존재하지않는 에러임을 알려야 함 def post_detail(request,post_id): post=get_ob..

Web 공부/Django 2022.03.30

유효성 검사 (Validation)

데이터 유효성 검사 - 데이터가 우리가 원하는 규격에 맞는지 확인하는 과정 - 데이터를 검증해서 유효한 데이터를 만든다. Field인자로 유효성 검증 1. Field를 정의할 떄 필요한 옵션 인자로 주기 (내장 Filed 옵셥) 2. 따로 validator를 추가하기 1. Field를 정의할 떄 필요한 옵션 인자로 주기 (내장 Filed 옵셥) blank=False 기본 옵션 인자(폼에 빈칸을 허용할지 결정 , True=빈칸 허용 ) null=True 빈 값을 null로 저장하는 걸 허용할지 unique=True 중복되는 데이터는 저장하지 못함 is_Valid() : 데이터가 유효한지 검증 def post_create(request): if request.method=='POST': post_form=P..

Web 공부/Django 2022.03.29

폼(Form)

폼 (Form) 사용자가 입력한 데이터를 서버로 전송하기 위한 방식 포스트 작성, 수정, 삭제 기능 GET : 서버로부터 데이터 조회 POST : 서버의 데이터를 변경 Create from django import forms class PostForm(forms.Form): title=forms.CharField(max_length=50,label='제목') content=forms.CharField(label='내용',widget=forms.Textarea) forms.py에 model과 비슷하게 원하는 데이터에 따라서 form field를 작성 views.py에서 템플릿으로 보내주고 html파일에 템플릿으로 가져와서 사용 Post action은 폼을 전달할 서버의 URL (action을 적지않을 경우..

Web 공부/Django 2022.03.29

Django URL naming

돌아가기 이런 식으로 주소를 하드코딩하는 것은 비효율적 URL에 name을 주고 템플릿을 이용해야함 !! from django.urls import path from . import views urlpatterns = [ path('posts/',views.post_list,name='post-list'), path('posts/',views.post_detail,name='post-detail'), ] 각각 세 번째 인자로 name을 줌 {%url '{name}'%}을 이용할 수 있음 돌아가기 name이 'post-list'인 path로 감 {{post.title}} 하드 코딩할 경우, /posts/{{post.id}} 템플릿 이용할 경우, name이 'post-detail'이며 post.id로 이동하..

Web 공부/Django 2022.03.25

Django CRUD

새로운 프로젝트 생성 mkdir {새로운 폴더명} cd {새로운 폴더명} pyenv local django-envs django-admin startproject {새로운 프로젝트명} cd {새로운 프로젝트명} TIME_ZONE = 'Asia/Seoul' settings.py에 TIME_ZONE 변경 python manage.py startapp {앱 이름} 터미널에서 앱 생성 settings.py의 INSTALLED_APPS에 앱 이름 추가해줘야함!! python manage.py migrate 그 후 Django에 반영시키기 위해 migrate 시켜줌 from django.db import models # Create your models here. class Post(models.Model): ti..

Web 공부/Django 2022.03.25

Django 빠르게 배포하기

IaaS Infrastructure as a Service 서버 장비 + 운영체제만 제공 개발자가 필요한 프로그램을 직접 설치 및 설정 까다롭지만 필요한 최적의 환경 구성 가능 ex) aws EC2 PaaS Platform as a Service 서버 장비 + 운영체제 + 실행환경 제공 전체적인 실행환경이 갖춰져 있음 서버 구축보다 개발하는 프로젝트에 더 집중 가능 ex) aws Elastic Benstalk, Googld App Engine, Heroku python App에 특화된 서비스 : pythonanywhere Django 배포 준비하기 디버그 모드 끄기 (settings.py에서 DEBUG=False) 호스트 설정하기 (settings.py에서 ALLOWED_HOSTS=[] 안에 배포할 주소..

Web 공부/Django 2022.03.25
반응형
LIST