반응형
SMALL

Django 9

클래스형 뷰

클래스(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 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

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

Django 구조 이해하기

pyenv local {가상환경 이름} 특정 디렉토리에 로컬 가상환경 적용 django-admin startproject {프로젝트 이름} django 프로젝트 생성 python manage.py runserver 만든 사이트 실행시킬 수 있음 http://127.0.0.1:8000/ 링크 들어가면 사이트 실행 가능 !! django 프로젝트 구조 Project Root django 프로젝트의 모든 파일이 담겨있는 최상위 디렉토리 (바깥 Costaurant) Project App 우리 Project의 가장 중심이 되는 App( 안쪽 Costaurant) manage.py Django 프로젝트 관리를 위한 명령어 지원 앱 생성, 데이터베이스 관련 명령, 개발서버 실행 등 db.sqlite3 우리 프로젝트에..

Web 공부/Django 2022.03.23
반응형
LIST