분류 전체보기99 dispatch 메서드: self.get_object() , self.object 이 키워드로 검색하는 사람들은 장고 클래스뷰 하다가, 주화입마에 빠져들고 있는 사람일 것이다. 중간 결론 CreateView, UpdateView, FormView 등에서 모델 폼을 사용할 때, get 인 경우, get_context_data() 오버라이딩 post 면, form_valid() 공통인 경우, dispatch() 오버 https://github.com/django/django/blob/main/django/views/generic/edit.py GitHub - django/django: The Web framework for perfectionists with deadlines. The Web framework for perfectionists with deadlines. - GitHub .. erp 도전 2023. 4. 27. 일정표 구현 4) 수정/삭제 ------------------------------------------ 하튼, 일정표 수정/삭제 작업 후, 원래 위치로 돌아와야 하는데, 좀 애매한 경우가 있었다. 수정/삭제 작업 1. 저장된 일정 * 일정이 나(상품번호 touritem의 pk) 를 가리키고 있다. 그래서, 수정/삭제 후, redirect 하면 된다. 공유 일정은 다른 상품들과 연동돼있으므로, 같은 곳에서 수정하면 사실 문제가 있다. 바로 수정/삭제 보다는 공유 일정표 수정화면을 만들어서 처리해야할 것이다. 하지만 귀찮고, 기타 등등 잘 가다듬으면 한 곳에서 쉽게 처리할 수 있을 것 같다. 2. 공유 일정 공유 일정은 나를 가리키고 있지 않기 때문에, 공유일정을 수정/삭제 하고, 원래 페이지로 돌아갈 수는 없다. 한참 생각하다가, .. erp 도전 2023. 4. 26. 레코드 복사, 반복문 추가, bulk_update 등 https://django-orm-cookbook-ko.readthedocs.io/en/latest/copy.html 2. 기존에 저장된 행을 복사해 새로 저장하는 방법은 무엇인가요? — Django ORM Cookbook 2.0 documentation 2. 기존에 저장된 행을 복사해 새로 저장하는 방법은 무엇인가요? 장고 ORM에는 모델 인스턴스를 복사하는 내장 메서드가 없습니다. 하지만 모든 필드의 값을 복사하여 새 인스턴스를 만들고 새 django-orm-cookbook-ko.readthedocs.io save 와 create save 는 조회(인스턴스 생성)후, 저장 create 는 바로 만들어. 레코드 복사 장고 ORM에는 모델 인스턴스를 복사하는 내장 메서드가 없습니다. 하지만 모든 필드의 .. erp 도전 2023. 4. 26. 장고 마이그레이션 에러 / 복구 showmigrations 1. 먼저 터미널에서 다음 명령어를 입력하여 migration현황을 확인한다 python manage.py showmigrations 그럼 다음과 같이 app들에 대해 진행된 migration목록이 나열된다. account [X] 0001_initial [ ] 0002_newuser account : app name [X] : 이미 migrate 되어 적용됐다는 뜻 [ ] : 아직 migrate가 진행되지 않았다는 뜻 1-1. [ ] 로 아직 migrate가 진행되지 않은 경우 앱 내부에 있는 migrations 폴더에 들어가서 삭제하고자 하는 migrations 파일을 전부 삭제해주자 1-2. [X]로 이미 migrate가 반영된 경우 돌아가고자 하는 상태로 migrate 후, python manage.. erp 도전 2023. 4. 26. 일정표 구현 3: 조/중/석 구분값으로 저장, 사용하기 * 미션 일정표 관련 기능을 구현하면서, 자잘한 데이터를 사용할 일이 많아지게 됐다. 예를 들어, 다단 박스 형태에서, 조식, 중식, 석식이라면, 1일차에 조식/중식/석식이 들어가면 되는거다. 구체화 현재 출발일 상품(touritem)의 일정표(iti) 를 보여준다. 단, 일정표(iti) 모델의 food 필드는 '조식;중식;석식' 처럼 세미콜론으로 구분해서 저장돼 있다. * 구분값으로 저장 구분값을 사용해서, 한 필드에 여러값 저장하고, 문자열을 입력 받을 때, join 함수로 ; 으로 연결해서 저장하기. (이 때, strip 으로 공백을 제거하자.) 꺼내서 사용하기. 복잡타 ㅠㅠ 이거 밤까먹는거냐. 1. 원래 간단히, 댓글 모델을 생각했었다. 템플릿에서 바로 프로세싱하는 거였다. {% if tourit.. erp 도전 2023. 4. 25. 일정표 구현2) : 공유 일정표와 개별 일정표 구현 # 뭔가 복잡하고 두려워서,,,피하고 싶은데, 끙 한 개의 필드에 코드를 넣어서 구현하는 방식이 그나마 가장 간단한 방식이겠으나... 제대로 구현하면, 일자마다 일정, 식사, 주요 관광거리 등의 요소들이 들어가야 한다. 즉, 일정표 하루치가 무지 복잡해지는거다. 작업이 꽤 커짐 그리고, 각 일차는 상품코드와 fk 로 연결돼 있어야 하고, 댓글 모델과 비슷하다. 근데, 이걸 1년 치 일정을 복사한다 치면, 와.... db 추가/수정 양이 엄청 많네. bulk_create , update 를 안쓸수가 없겠구먼... 뭔가 생각만으로도 좀 복잡하다..... 상품이 먼저 추가되고, 거기에 딸린 일정이 fk 로 일자마다 연속추가되는 형태인데, 끙...몰라 몰라.... 생각만으로도 복잡해. 이건 좀 나중으로 미뤄야겠.. erp 도전 2023. 4. 24. 일정표 구현 1) tinymce 에디터는 있어야해서, 간단히 넣으려고 했는데 좀 삽질했다. 하란대로 따라하면 admin 에서 글 입력까진 쉽게 됐었다. 내가 만든 폼의 textarea 에서 잘 안먹혔는데, {% form.media %} 를 추가해야지 로드가 됐다. -_-; 일정표 작업중인데 고민중이여서 두가지 다 구현해보기로 했다. 1. 하나의 상품의 textarea 필드 하나로 처리 글 초기값. / 양식 불러오기 setting initial text 기존 게시판에 글 하나 형식이라면, 기본 값으로 사전 정의된 테이블이 있어야겠다. 검색해보니, 있었다. https://www.tiny.cloud/blog/how-to-get-content-and-set-content-in-tinymce/ How to get content from the.. erp 도전 2023. 4. 24. 장고 필터 django-filter https://velog.io/@suasue/Django-%ED%95%84%ED%84%B0%EB%A7%81-%EB%BD%80%EA%B0%9C%EA%B8%B0-if%EB%AC%B8-%EB%94%95%EC%85%94%EB%84%88%EB%A6%AC-Q-%EA%B0%9D%EC%B2%B4-%ED%99%9C%EC%9A%A9 Django | 필터링 뽀개기! if문, 딕셔너리, Q 객체 활용 장고에서 필터링 기능을 구현할 수 있는 방법에는 크게 3가지 방법이 있다. if문을 이용하는 방법, 딕셔너리를 이용하는 방법, Q 객체를 이용하는 방법이다. 오늘의 집을 예시로 해서 3가지 방법 velog.io https://velog.io/@adsf25/Django-%EB%8B%A4%EC%A4%91-%ED%95%84%ED%84.. erp 도전 2023. 4. 22. 데이터 조회 : 특정 기간동안 + 코드 조회(Q, annotate, Concat) Q 객체로 구현했고, # filter 시, 포린키의 value 조회 방법 # annotate, Concat 으로 필드 결합 1) 특정 기간 : Q(d_date1__range=[start, end] 2) 여러 필드를 하나의 문자열로 합친 후, '검색어'가 포함돼있는지 조회. ............annotate(xxx = Concat('a__name', 'b', 'c')).............. 상품기초코드 + 항공사코드 + 접미코드 필드를 합쳐서, '키워드'가 들어있는지? 포린키의 실제 필드값을 조회 : 'basic_code__basic_code' from django.db.models.functions import Concat from django.db.models import CharField, V.. erp 도전 2023. 4. 22. table2 테이블 모듈 erp 처럼 테이블을 많이 사용할 때, 유용 테이블 태그를 꼭 써야 할지는 모르겠다. 일단, 날짜나 시간 등. 탬플릿 필터에서 설정한 것들을 새로 해야하고, 디자인이라면.. 또 별도의 방식을 익혀야 한다. 글쎄. 지금 단계에선 안쓰는 것이 옳다. erp 도전 2023. 4. 22. 장고 여행사 재고관리 도전 1 (4/14-4/20) 지금까지 꾸역 꾸역 답보고 문제 푸는 것처럼, 실습은 했지만 효과가 너무나 미약했기에, 가장 작은 프로젝트라도 만들어 보기로 했다. 결론부터 말하자면, 정말 이게 답이였다. 1일차 4/14 : 기존 실습한 파일을 변형해서 만들어보기로. 뭔가 만들려고 하니까, 그냥 가슴이.... 답답.....해지면서, 소화불량.... 허억... 사실 블로그야 연습용이지, 많고 좋은 블로그 속에, 장고로 블로그 만들어서 어디 써먹겠나. 그럴듯한 인벤토리, CRM, ERP 디자인을 찾아 헤매다 몇 시간 지나갔다. 이게 뭐람. -_-;; 이런 짓 하지 말고, 디자인 빼고, 이것부터 해보기로 했다. 2023-5-1 부터 2020-8-31 까지, 수, 토 주 2회 패턴으로 뜨는 동남아 항공편이 있다. 이 정보를 일괄 입력하고, 수.. erp 도전 2023. 4. 21. 장고 ... 재도전 ( 2023. 3.26 ~ 4.13 ) 묙표 이번엔 대충 빨리 해보자 No. 토이 프로젝트라도 할 수 있는 수준으로 학습하자. 지금까지 예제는 참 많이 했다만, 사실, 거의 복붙하거나, 따라 치기만 했었다. 세 가지 책을 병행했다. 병행했다기보다는 그냥 대충 복/붙 따라 해보는 정도. 왜 자꾸 장고를 쉽다고 하는거냐... 아호. 1. (김석훈) 파이썬 웹프로그래밍 (기본/실전) 2. Do It 장고 부트스트랩 3. 점프투장고 파이썬 문법 실력은 버벅버벅대고, 클래스, 딕셔너리 조작은 헷갈려하고, 머리 아파하는 상태. 그래서, 이번엔 좀 제대로 보기로 했다. 책을 따라했을 때, 결과물로서 가장 나은 Do It 장고 부트스트랩을 좀 더 꼼꼼히 보기로 했다. 이번엔 코드를 출력해서, 자주 더 꼼꼼히 살펴보면서 하려고 신경썼다. 가상환경 설정하고, .. erp 도전 2023. 4. 21. 파이썬 에러 : ipython shell_plus 주피터노트북 실행 오류 INSTALLED_EXTENSIONS = metadata.entry_points().get('markdown.extensions', ()) AttributeError: 'EntryPoints' object has no attribute 'get' (venv) imac :: ~/github/django23 ‹main*› % !pip install importlib-metadata==4.13.0 1 ↵ (venv) imac :: ~/github/django23 ‹main*› % pip install --upgrade "ipython[all]" install importlib-metadata==4.13.0 INSTALLED_EXTENSIONS = metadata.entry_points().get('markdo.. 장고/DoIt장고 2023. 4. 20. Do it 장고 학습기 파이썬과 장고 기본은 뗀 후, 봐야할 교재다. 파이썬 기본 문법만 보면 할 수 있다는 것을 강조하는데, 말도 안돼... 정말 말도 안돼. 한글은 쉽지만, 한국어는 어렵다. 파이썬은 쉽지만, 장고는 어렵다. https://doitdjango.com/ Do It Django Do It Django 파이썬 진영의 가장 대표적인 웹프레임워크 중 하나인 django를 이용하여 여러분만의 블로그 사이트를 만들어보세요. doitdjango.com 완성 소스 파일 등록일 : 2021.01.06 다운수 : 0 실습 파일 1. 구글 드라이브로 내려받기 ▶ 구글 드라이브 바로가기(클릭) 2. 저자 깃허브에서 확인 실습별로 작성해야 할 코드를 확인할 수 있습니다. ▶ 저자 깃허브 바로가기(클릭) 정오표 책을 읽다가 오탈자를.. 장고/DoIt장고 2023. 4. 13. 파이썬 클래스 메서드의 첫 번째 매개변수는 반드시 self를 지정해야 한다. 메서드에서 인스턴스 접근시, 매개변수 self 를 반드시 붙여야한다. class Test: def test1(self): a = 'hello' 여기서 self는 java의 this와 똑같다. 생성자 class Person: def __init__(self): self.hello = '안녕하세요' def greeting(self): print(self.hello) james = Person() james.greeting() >>> 안녕하세요 __init(self)는 파이썬의 생성자다. 파이썬을 불러올 때 가장 먼저 들리는 메서드다. 그래서 hello안에 '안녕하세요'가 저장 될 수가 있다. greeting(self)는 메서드다. 기존 greet.. 장고/중급_문법 2023. 4. 9. 깃허브 블로그 Mac에서 Ruby의 패키지 매니저인 gem을 통해 설치를 진행하다 다음과 같은 에러를 만납니다. $ gem install bundler ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory. 결론부터 말하면, 시스템 ruby를 이용하고 있기 때문에 권한이 없어 gem 설치가 안된 것입니다. sudo를 통해 root 권한으로 실행하면 설치가 가능하지만, 보안상 이유로 권장하지 않는 설치법입니다. 그래서 rbenv를 통해 문제를 해결해보겠습니다. 문제 해결 먼저 brew를 통해 rbenv 를 설치합니다. brew updat.. python(0821-0908)/메모 2023. 4. 8. mp3 붙이기 https://kminito.tistory.com/104 파일 관리 - 이미지 처리 - pdf 2023. 4. 8. 오토핫키 스크립트 https://www.clien.net/service/board/lecture/10501180CLIEN 오토핫키로 프로그램을 실행하고 관리하는 방법 (초보자용 ) https://www.clien.net/service/board/lecture/10752273CLIEN 오토핫키를 이용하여 사이트 접속 없이 검색엔진으로 검색 활용하기 https://www.clien.net/service/board/lecture/14935877CLIEN 오토핫키를 이용하여 선택한 텍스트 검색하기 http://www.mediafire.com/file/fuk548l9myr9z4b/%25ED%2581%25B4%25EB%25A6%25AC%25EC%2595%2599_Drive_%25EC%2598%25A4%25ED%2586%25A0%25.. AutoHotKey 2022. 12. 7. ahk toggle 토글 Win+n # : 윈도우키 #if : 조건 만족시, 아래 실행 #n:: If (NSet = 1 ) { NSet = 0 } else { NSet = 1 } return #if NSet = 1 ; { u::4 i::5 o::6 j::1 k::2 l::3 m::0 } 껐다 켰다 #If GetKeyState("Scrolllock","T") ; Hotkeys below this can only be activated if ScrollLock is On ~~~~~~~ Loop { if not GetKeyState("Scrolllock", "T") ; Note that we have to keep this because the #If statement doesn't control the hotkey once i.. AutoHotKey 2022. 12. 4. moviepy, pytube -_-;; 4k 다운로더 쓰는게 훨씬 낫겠다. 장점이 없뜨아.... https://pytube.io/en/latest/user/streams.html#filtering-by-streaming-method yt = YouTube(url) stream = yt.streams.get_highest_resolution() stream.download(DOWNLOAD_FOLDER) print("제목 : ", yt.title) print("길이 : ", yt.length) print("게시자 : ", yt.author) print("게시날짜 : ", yt.publish_date) print("조회수 : ", yt.views) print("키워드 : ", yt.keywords) print("설명 : ", yt.des.. 파일 관리 - 이미지 처리 - pdf 2022. 10. 25. 티스토리 test 중 보호되어 있는 글 입니다. 2022. 10. 22. (포토스케이프 일괄변환 위치 문제) -_- 해결 # 포토스케입 일괄변환 중, 하위폴더가 무수히 생기는 바람에... ㅠ # 폴더100개마다 같은 이름의 하위폴더가 있는 구조 __모음__ 이라는 폴더를 만들어서, 지정한 하위 폴더를 집어넣는다. 이 때, 하위 폴더의 상위 폴더 이름으로 바꾼 후 옮긴다. ex) 드래곤볼 | 리사이징 1) 하위 폴더인 "리사이징"의 이름을 "드래곤볼"로 바꾼다. 2) _모음_ 이라는 폴더를 만들어서, 부모폴더의 이름과 동일하게 바꾼 "드래곤볼" 폴더를 옮긴다. os.path.isdir(), isfile() 디렉토리만 뽑기, 해당 파일/폴더 유무 확인 : if os.path.isdir(): os.rename() 파일,폴더 이동 : 파일,폴더 옮기기 os.rename("path/to/current/file.foo", "path/.. 파일 관리 - 이미지 처리 - pdf 2022. 10. 21. pdf <-> jpg 변환 및 편집 툴 개발 중... 보호되어 있는 글 입니다. 2022. 10. 20. 자작4. 탐색기에서 파일 홀짝 분리, 필터 보호되어 있는 글 입니다. 2022. 10. 10. 자작3. zip 이미지 반띵 후 다시 zip으로 (망가 분할 추가 좌<-우) 보호되어 있는 글 입니다. 2022. 10. 10. 자작 2) 두 쪽 보기에서 바깥쪽/안쪽 여백 trim+빈페이지 삽입 보호되어 있는 글 입니다. 2022. 10. 10. exe 실행파일 만들기 보호되어 있는 글 입니다. 2022. 10. 9. Pillow 총 정리 보호되어 있는 글 입니다. 2022. 10. 9. 픽셀과 dpi https://m.blog.naver.com/soulcreator/221247716236 파일 관리 - 이미지 처리 - pdf 2022. 10. 8. img2pdf, os.path https://pypi.org/project/img2pdf/ 경로 파악 글로벌 변수 __file__ 해당 코드가 저장된 파일의 이름을 반환한다. ex) code.py os.path.realpath("code.py") 파일 이름을 인자로 주면 해당 파일의 절대 경로를 반환하여 준다. ex) C:\Users\code.py os.path.dirname("C:\Users\code.py") 파일의 경로를 인자로 주면 해당 파일이 속한 디렉터리의 경로를 반환하여 준다. ex) C:\Users os.listdir("C:\Users") 디렉터리 경로를 인자로 주면 해당 디렉터리 내에 존재하는 모든 파일 및 디렉터리를 리스트로 반환한다. ex)["code.py","qwe.jpg","asd.jpg","zxc.jpg"] c.. 파일 관리 - 이미지 처리 - pdf 2022. 10. 8. 이전 1 2 3 4 다음