FrameWork

FrameWork/Django

django-environ을 이용하여 환경변수 관리하기

django-environ 대게 django을 하다보면, 남들에게 보여주면 안되는 API_KEY 값들이나 다른 중요한 값들이 존재하기 마련이다. 따라서 이런 값들을 따로 관리해야하는 필요성을 알게되는데 이를 도와주는것이 djago-environ이다. 일단 django-envirion을 설치한다. pip install django-environ 그 다음 프로젝트 안에 .env 라는 파일을 생성 한 뒤, 파일안에 변수와 값을 기입한뒤, settings.py 에서 사용한다. 📕 .env SECRET_KEY='django-insecure-n&(433#pnjvih&mmil99u666&5cm*d0_o$@*cj41934u=$w7*q' DEBUG=True 🔖.env 파일에 값을 넣을때 변수와 값 사이에 뛰어쓰기가 존재..

FrameWork/Django

ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'accounts.account', but app 'accounts' doesn't provide model ' 에러 해결

상황 django에서 유저 모델을 만들어서 migrate하는 도중에 해당 오류가 발생하였다. 해결 https://stackoverflow.com/questions/50324561/valueerror-the-field-admin-logentry-user-was-declared-with-a-lazy-reference ValueError: The field admin.LogEntry.user was declared with a lazy reference I'm developing a new django project and stuck with migration. I would like to make a UserModel, and in order to do that, I did two things so far...

FrameWork/Django

django-debug-toolbar을 통한 SQL 디버깅 정보 확인하기

django-debug-toolbar Djago-debug-toolbar은 현재 request/response에 대한 다양한 디버깅 정보를 보여주는 써드파티이다. 다양한 Panel들을 지원하며 SQLPanel을 통해, 각 요청 처리시에 발생한 SQL 내역을 확인할수 있다. 참고로 Ajax 요청에 대한 지원은 불가하다 django-debug-toolbar 설치하기 📒 공식문서 : https://django-debug-toolbar.readthedocs.io/en/latest/ Django Debug Toolbar — Django Debug Toolbar 3.8.1 documentation © Copyright 2023, Django Debug Toolbar developers and contributors..

FrameWork/Django

mark_safe을 통해 Admin 페이지에서 이미지를 표현하는 방법

Admin에서 Img을 표현하는 방법 Django admin에서 list_display을 통해 해당 model의 img을 표현하고 싶다면 다음과 같이 작성한다. from django.contrib import admin from .models import Post from django.utils.safestring import mark_safe @admin.register(Post) class PostAdmin(admin.ModelAdmin): list_display = ['pk', 'photo_view','message'] def photo_view(self, obj): return mark_safe(f"") django는 기본적으로 autoscape (html 파일이 아닌 외부로부터의 코드를 모두 e..

FrameWork/Django

ERROR : django.db.utils.OperationalError: no such table 오류 해결

상황 pycharm 한번 써볼려고 vsc에서 환경을 옮겼다가 다시 vsc로 돌아왔는데, pycharm에서 python manage.py migrate 해서 문제가 난 모양이었다. 일단 이것 때문에 난생 처음으로 git reset --commit version 해서 돌아가기 까지 했었는데, 근본적으로 5시간 정도 고쳐지지 않아서 해매다 해결방법을 찾았다. 해결 일반적인 해결방법으로는 마이그레이션 디렉토리에 있는 파일들과 db.sqlite3 파일을 지워준다. # db.sqlite3은 수동 삭제 요망 find . -path "*/migrations/*.py" -not -name "__init__.py" -delete find . -path "*/migrations/*.pyc" -delete 그리고 아래 명령어..

FrameWork/Django

[Django] 함수 기반 View

📚 View 란? 1개의 HTTP 요청에 대해서 1개의 뷰가 호출 된다. (urls.py/urlpatterns 리스트에 매핑된 호출 가능한 객체) 웹 클라이언트로부터 HTTP 요청을 처리하며 크게 함수, 클래스 기반 뷰 이렇게 2가지가 존재한다. 📚 View 호출 시 인자 View 호출시 📒 1번째 인자 : HttpRequest 객체 전달 현재 요청에 대한 모든 내역을 담고 있음 📒 2번째 인자 : 현재 요청의 URL로부터 Capture된 문자열들 url/re_path를 통한 처리에서는 모든 인자는 str 타입으로 전달되며, path를 통한 처리에서는 Converter의 to_python에 맞게 변환된 값이 인자로 전달된다. 📚 View 호출 시 리턴 값 필히 HttpResponse 객체를 리턴하여야 한..

FrameWork/Django

[Django] 관계를 표현하는 Model Field

📚 DBMS에서의 관계 📒 1:N에서의 관계 -> models.ForeignKey로 표현 📒 1:1에서의 관계 -> models.OneToOneField로 표현 📒 M:N에서의 관계 -> models.ManyToManyField로 표현 📚 ForeignKey 1:N 관계에서 N측에 명시합니다. models.ForeignKey(to, on_delete) 📒 to : 대상 모델 클래스를 직접 지정하거나, 클래스명을 문자열로 지정합니다. 자기 참조를 할때는 self로 지정합니다. 📒 on_delete : Record 삭제 시 Rule을 의미한다. 아래와 같은 값들을 사용 할 수 있다. CASCADE FK로 참조하는 다른 모델의 Record도 삭제 (장고 1.X에서의 디폴트값) PROTECT ProtectedE..

FrameWork/Django

[Django] Model 객체 조회하기

📚 Model Manager Django 에서 Model Manager은 데이터베이스 질의 인터페이스를 제공한다. 📚 Model 객체 조회 다음과 같은 쿼리를 통해 객체를 조회 할 수 있다. python manage.py shell >>> from App.models import Post >>> Post.objects.all() 📒 어떤 속성 값에 따른 내림 차순으로 조회하기 Post.objects.all().order_by('-pk')[:10] 🔖 오름차순으로 정렬하고 싶다면 속성앞에 - 기호를 빼주면 된다. model.objects.all() 은 객체 리스트가 반환되게 된다. 따라서 객체내에 있는 내용을 수정 하거나 뽑아 내고 싶다면 다음과 같이 작성하여야 한다. qs = Post.objects.al..

FrameWork/Django

[Django] shell 사용하기

📚 Shell 이란? 파이썬에는 여러가지 Shell이 존재하는데 Shell은 코드 한줄 한줄을 입력받고 그때 그때 결과값을 반환해주는 프로그램을 의미한다. 종류로는 IPython, Jupyter, BPython .. 이 존재한다. 📚 Django 프로젝트에서 Shell 뛰우기 Django 프로젝트에서 shell 을 뛰우려면 해당 명령어를 사용하면 된다. python manage.py shell 용도는 주로 모델의 질의 인터페이스, 혹은 그외의 용도로 자주 사용한다.

JHeaon
'FrameWork' 카테고리의 글 목록 (7 Page)