wagtail 6

wagtail 첫번째 앱과 모델 만들기.

이 글의 목적은 첫페이지에서 하나의 앱으로 연결하고 그 앱의 하부요소 2개로 이동해 보는 것이다.wagtail 시작하기는 https://blingstarhamal.tistory.com/492 를 참조 django는 하나의 프로젝트에 여러가지 앱들이 달려있는 구조인데 이는 wagtail cms 적용을해도 마찬가지다.내 프로젝트의 이름은 custom 이고, category라는 앱을 하나 만들었다.python manage.py startapp category├── Dockerfile├── category # 새로만든 앱├── custom├── db.sqlite3├── home├── manage.py├── requirements.txt└── search 기본적으로 wagtail 설치를 끝냈으면 프로젝트폴더(cu..

Code/Django 2024.08.21

wagtail models.py > models/<modelname>.py 분리하기

models.py의 내용이 점점 길어짐에 따라 수정할때 엄청난 스크롤 압박을 받게되어 효율적으로 사용하는법을 찾아서 적용하였다.간단히 말하자면 기존 models.py에 있는 각 class 를 파일별로 나누는 것이다.예를 들어 models.py에 APage BPage CPage  라는 class (page)와 DBlock EBlock FBlock 라는 class(block)이 있다면app/ models/ __init__.py a_page.py b_page.py c_page.py blocks.py이렇게 총 5개의 파일을 만들어준다.# __init__.pyfrom .a_page import Afrom .b_page import Bfrom .c..

Code/Django 2024.08.19

django wagtail summernote TypeError: clean() got an unexpected keyword argument 'styles'

TypeError: clean() got an unexpected keyword argument 'styles'edit django_summernote/fields.pypip install tinycss2vi .venv/lib/python3.12/site-packages/django_summernote/fields.py# fields.py# bleach.clean 함수가 styles 인수를 지원하지 않는 것 같습니다. bleach.clean 함수의 인수 목록을 확인하고, styles 인수를 제거하거나 다른 방법으로 스타일을 처리해야 합니다.from django.db import modelsfrom django.forms import fieldsimport bleachfrom bleach.css_sanit..

Code/Django 2024.08.01

django wagtail에서 ajax 구현 방식

inforamtion_location_page.html 페이지 일부에 ajax를 적용하는데클릭 이벤트에 따라 화면 중앙 부분이 비동기로 로드 된다.이때 중앙부분은 location_details.html 이라는 파일로 만들어져 있는데해당부분을 어떻게 inforamtion_location_page.html 에 로드시키는지 알기 위한 정리이다.방식의 과정을 알기위한 내용이기 때문에 코드가 일부만 적혀있다.프론트엔드에서 ajax 요청 방식은 여러가지가 있는데fetchXMLHttpRequest (XHR)jQuery $.ajax()Axios방식에 따라 장단점이 있는데 gpt말로는 fetch가 최신방식이며 javascript에서 실행되는 방법이라고 한다.근데 아무래도 대중적인 jquery방식을 쓰는게 좋지 않을까 싶..

Code/Django 2024.07.31

Django + Wagtail Start

mkdir projectnamecd projectnamepython -m venv .venv/ # python or python3source .venv/bin/activatepip install wagtail # pip or pip3wagtail start projectname . # .을 찍어야 해당폴더에서 프로젝트파일이 생성됨 없으면 프로젝트이름으로 새폴더가 생김pip install -r requirements.txtpython manage.py makemigrationspython manage.py migratepython manage.py runserverpython manage.py createsuperuser이렇게 시작했을 때, 가상환경이나 db파일은 gitignore에 추가해주는게 좋다.

Code/Django 2024.05.10
320x100