일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- path converter
- DjangoModel
- Python
- 검색기능
- 장고로그인회원가입
- 웹페이지제작
- 템플릿변수
- 장고
- CRUD
- 템플릿태그
- 템플릿상속
- 랜덤번호
- 글쓰기기능
- extends
- django
- modelform
- 장고모델
- 장고수정기능
- DjangoAdmin
- DjangoUsers
- 장고유저모델
- 템플릿필터
- 파이썬
- 모델폼
- 쿼리셋
- 장고어드민
- namespace
- detail page 만들기
- queryset
- get object or 404
- Today
- Total
목록Python, Django (11)
하루에는
Overviews Model Form 사용 post 앱의 CRUD 구현 지금 post앱의 새 글 쓰기는 admin 페이지에서만 가능합니다. 웹에서도 CRUD가 가능하게 해보겠습니다. 1. (비추천)입력 받을 필드들을 input 태그를 써서 만드는 방법 {% csrf_token %} 2. (추천)저장할 필드들을 파이썬 파일에 작성하고, 파일을 {{form}}에 담아서 불러오기만 하는 방법 {% csrf_token %} {{form}} Model Form 모델에서 정의한 필드대로 form을 자동으로 만들어 줌 app에 forms.py를 만들고, 어떤 필드를 입력받을지 정한다. 사용자로부터 데이터를 입력받아서 저장할 때는 대부분 모델폼을 사용 모델폼의 장점 폼을 위한 HTML을 작성할 필요 없음 데이터 유효성..
Overviews 장고 유저 모델 사용하기 account 앱을 만들어 회원가입, 로그인, 로그아웃 구현하기 account 앱 만들기 account 앱은 회원가입, 로그인 등의 기능을 가진 앱입니다. python manage.py startapp account 앱을 만들었으니 settings.py의 INSTALLED_APPS에 등록해주고, urls 설정도 해줍니다. # settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles'..
Overview 템플릿 상속 url 관리 name space 템플릿 상속 지금까지 한 프로젝트에 두 개의 앱을 만들었습니다. randomnum프로젝트 picker앱 post앱 두 개의 앱을 자유자재로 이동할 수 있는 네비게이션 바를 만들어보겠습니다. picker 앱으로 이동 post 앱으로 이동 모든 페이지마다 이렇게 코드를 써넣는 건 나중에 수정할 때도 힘들고 비효율적임 하나의 html 파일을 만들어서 베이스로 삼고, 모든 페이지에 베이스 html 파일을 띄우는 것이 효율적 base.html 생성 settings.py가 있는 프로젝트 폴더에 templates를 만들고, base.html을 만들어주세요. base.html에 아래와 같이 써주세요. base.html에 작성된 네비게이션바 picker 앱으로..
Overview get object or 404 path-converter post의 detail page 만들기 path-converter path-converter : 과 같은 모양으로 작성 지정한 타입의 name 변수를 view 함수로 넘기는 역할을 합니다. from django.contrib import admin from django.urls import path import picker.views import post.views urlpatterns = [ path('admin/', admin.site.urls), path('', picker.views.pick, name='pick'), path('list/', post.views.postlist, name='postlist'), path('..
Overviews 쿼리셋 검색 기능 구현 쿼리셋 모델로부터 전달받은 객체 목록 # views.py에서.. posts = Post.objects.all() Model.objects → 쿼리셋 all() → 메소드 메소드 : 쿼리셋을 이용해서 정렬하거나, 기능을 표시하는 방법 메소드 create() : 객체 생성 Post.objects.create(title='제목', content='내용') get() : 단일행을 조건을 걸어서 출력, 반환되는 값이 2개 이상일 경우 에러 발생 Post.objects.get(pk=1) filter() : 여러 행을 조건을 걸어서 출력 Post.objects.filter(user='eneun') order_by() : 정렬 Post.objects.filter(user='예은..
Overview Post 모델 만들기 migration admin(관리자) queryset(쿼리셋) Post 모델 만들기 이전 프로젝트에 post라는 앱을 만들겠습니다. manage.py가 있는 디렉터리에서 앱을 만들어주세요. $ python manage.py startapp post 앱을 만들었으니 settings.py에 등록도 해줍니다. Model 설계 post 앱은 Post라는 모델을 만들 것입니다. Post가 갖는 필드는 세 가지가 있습니다. 제목 : 문자열, 최대 길이 100자 내용 : 문자열 등록 날짜 : 날짜와 시간 장고의 모델은 클래스로 선언해 줍니다. post 앱의 models.py에 아래와 같이 써줍니다. from django.db import models # Create your mo..
템플릿 변수 {{ 변수명 }} 으로 표현 .을 이용해서 속성 접근 가능 (ex. post.title) 변수가 존재하지 않을 경우 공백 문자 출력 변수를 제어하기 위한 필터 존재 템플릿 필터 템플릿 변수 표시에 변화를 제공 |(파이프)를 사용하여 적용 템플릿 상에서 변수를 보여줄 때 사용하는 것이므로 데이터 자체에 영향을 주지 않음. default : 변수가 비어있거나 false일 때 지정된 값을 출력 {{ value|default:"nothing" }} capfirst : 맨 첫 번째 글자를 대문자로 치환 {{ value|capfirst }} linenumbers : 텍스트에 줄 번호를 부여 {{ value|linenumbers }} random : 리스트에 들어있는 요소 중 랜덤으로 하나를 추출 {{ ..
Overview 랜덤 숫자를 뽑는 프로젝트 만들기 프로젝트 생성 가상환경을 만들어서 장고를 깔고, 장고 프로젝트를 만들어줍니다. 그리고 헷갈리지 않게 상위 폴더 명을 randomnum으로 바꿔줬습니다. python -m venv myvenv source myvenv/Scripts/activate pip install django django-admin startproject randomnumproject python -m venv myvenv source myvenv/Scripts/activate pip install django django-admin startproject randomnumproject manage.py가 있는 경로에서 picker라는 앱을 만들어줍니다. cd randomnum pyt..
Overview MTV 패턴 T(Templates)는 유저가 보는 화면에 해당 V(View)는 기능을 구현하는 부분 M(Model) 테이블을 정의하는 부분. 장고는 ORM을 제공한다. ORM이란: Object-Relational Mapping, SQL 대신 데이터베이스를 쉽게 연결해주는 것 Django python 기반 웹 어플리케이션 프레임워크 MTV 패턴 admin 기능 제공 쉬운 URL 파싱 제공 프로젝트 생성 가상환경 pip 패키지들을 독립적으로 설치 파이썬으로 작성된 패키지 소프웨어를 설치, 관리하는 패키지 관리 시스템 파이썬을 설치하면 사용 가능 장고도 pip 패키지 중 하나 가상환경 만들기 python -m venv myvenv 가상환경 활성화(가상환경이 있는 디렉터리에서) . myvenv/..
Overview 개발환경 셋팅 장고 기초 설명 미리 설치해야 할 것 Git bash Python (3.7 이상) VSCode 등 텍스트 에디터 Django python 기반 웹 어플리케이션 프레임워크 MTV 패턴 admin 기능 제공 쉬운 URL 파싱 제공 VSCode 세팅하기 code .를 치면 현재 디렉터리에서 VSCode 실행됨 가상 환경 장고 프로젝트마다 가상 환경을 생성해서 관리 장고 프로젝트를 담는 통 가상환경을 켜고 설치한 패키지들은 가상 환경에서만 영향을 미침 장고 프로젝트별로 가상환경을 설치해야 함 터미널 명령어 모음 가상환경 만들기 python -m venv myvenv 가상환경 실행(source는 .으로 대체 가능) source myvenv/Scripts/activate # 윈도우 s..