반응형
SMALL

전체 글 56

다양한 상황 대처

아직 저장된 데이터가 없다면? 작성된 글이 없으므로 화면에 적절한 문구를 나타내는게 좋음 {% 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

Model

모델 이해하기 from django.db import models # Create your models here. class Menu(models.Model): name=models.CharField(max_length=50) description=models.CharField(max_length=100) price=models.IntegerField() img_path=models.CharField(max_length=255) def __str__(self): return self.name model은 class 형태이며 models.Model을 상속받아야함 모델 생성하거나 변경하면 장고에 반영해야함 python manage.py makemigraitions python manage.py migrate..

Web 공부/Django 2022.03.24

Template과 View

정적 파일 (static files) : 웹 페이지를 렌더링하는 과정에서 필요한 추가적인 파일 ex) CSS, JS, PNG, FONT 등 정적 파일 넣어주는 구조도 샌드위치 형식 -> foods- static - foods 형식 {% load static %} 템플릿 태그 : static에 있는 정적 파일을 현재 이 템플릿 파일에서 사용한다고 알려주는 것 ( 코드 첫 줄에 쓰면 됨) 정적파일 사용하기 src="images/chicken.jpg" ↓ src={% static 'foods/images/chicken.jpg' %} 기존의 코드를 {% static '경로' %} 형식으로 사용해서 정적파일 사용 Template과 static의 폴더 구조 (앱 이름 - 폴더 이름 - 앱 이름) 샌드위치 구조를 사..

Web 공부/Django 2022.03.24
반응형
LIST