django

    [Django] project에서 확실하게 app 지우기

    Django 프로젝트 내에서 App 지우기 0. settings,py의 INSTALLED_APP 에서 해당 App을 지운다 1. urls.py에서 해당 앱의 urls.py을 연결해두었다면 지운다. 2. postgresql db에 접속하여 해당 app 테이블을 지운다 3. manage.py makemigrations & manage.py migrate #delete app in django project

    [Django] AWS S3 Public 권한 설정하기

    📌 AWS S3 Public 권한 설정하기 [Server/Django] - [Django] AWS S3와 연동하기를 진행한 이후, 별다른 조치없이 S3에 파일을 업로드 하였다면, 해당 파일에 public한 연결 방법으로는 Access Permission Denied 메시지가 뜰 것이다. public 접근을 전부 차단해버렸으니 당연하다. 이 글에서는 public 권한 (정확히는 GET만)을 허용해주는 방법을 알아볼 것이다. 📍 S3 권한 탭으로 가서 아래와 같이 2개만 체크 📍 버킷 정책을 눌러 버킷 정책 편집기 부분의 ARN: 옆 부분을 복사 이후 아래의 정책 생성기 클릭 📍 S3 정책 생성기 화면에서 설정 Select Type Of Policy : S3 Bucket Policy Effect : Allo..

    [Django] AWS S3와 연동하기

    Django, AWS S3와 연동하기 AWS에 입장하여, 서비스 -> S3를 눌러 S3 Manage Console에 진입한다. 1. 버킷 만들기를 클릭 2. 버킷 이름을 적어주고 '다음' 3. 옵션 구성 페이지. 현재는 필요 없다. 바로 '다음'을 클릭 4. 전체 체크를 풀어주고 퍼블릭 정책 관련한 아래 2가지만 체크해주고 '다음' 클릭 5. 위와 똑같게 맞추었다면, 바로 '다음'을 눌러도 무방하다. '다음' 클릭 6. 제대로 버킷이 생성되었다면, IAM을 설정하러 갈 차례이다. Hot Ez Ex) IAM이란 쉽게 비유하자면 리눅스에서 nginx나 db용 유저를 따로 만들어 관리하듯이, 그런 유저를 하나 새로 만들어준다고 생각하면 된다. 물론 전체적인 상황에서는 다를 수 있지만 현재 상황에서는 비슷한 용..

    [django/문제 해결] TypeError: expected string or bytes-like object

    TypeError: expected string or bytes-like object 주로 model에 타입에 맞지 않은 잘못된 값을 넣고 있을 확률에 높으니 그 부분을 잘 보도록 하자

    [AWS CentOS] Django Nginx uWSGI 연동하기

    Django Nginx uWsgi 연동하기 AWS에서 Free Tier 서버 기본 선택 시에 설치되는 instance이며, CentOS 이며, django는 미리 구축한 상태입니다. ( 그러나 연동을 위한 설정은 해주지 않은 상태였습니다) 아래 같은 환경에서 진행하였다. $ cat /etc/*release* 0. 준비물 django는 설치되어있다는 가정하에, settings에 static 폴더와 media 폴더 경로를 설정하지 않았다면 설정해준다. $ settings.py STATIC_URL = '/static/' STATIC_ROOT = '/{프로젝트 경로}/assets/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ] # media file (a..

    [Django] Rest Framework / ViewSet QuerySet Params

    예를 들어 https://xxxxxxxxx.xxx/match/list/?user=3 과 같이, ? 를 통한 query 질의를 받아들여 queryset을 구성하려면 아래와 같이 구성하면 된다. class MatchView(viewsets.ModelViewSet): queryset = Match.objects.all() serializer_class = MatchSerializer permission_classes = [ permissions.IsAuthenticated ] def get_queryset(self): queryset = self.queryset search = self.request.query_params.get('user', None) if search: queryset = queryset..

    [django] User Profile Response 요청하기

    in serializers.py from .models import Profile class ProfileSerializer(serializers.ModelSerializer): class Meta: model = Profile fields = '__all__' in views from .serializers import ProfileSerializer class ProfileAPI(viewsets.ViewSet): def retrieve(self, request, pk=None): user = get_object_or_404(User, pk=pk) profile_serializer = ProfileSerializer(user.profile) return Response(profile_serializer..

    [django/문제해결] You are trying to add a non-nullable field

    django makemigrations 중 가끔 위와 같은 에러 상황이 발생한다. 쉽게 말해 기존의 models가 변경된 models로 인해 갈 곳을 잃어버렸다는 것이다. 1) 이는 makemigrations 폴더 내의 기록을 지워도 되는 상황이라면, __init__.py 파일을 제외하고 전부 지우면 해결된다. 2) 그럴 수 없는 상황이라면, default = '' 옵션, 혹은 null = True 옵션을 주게 되면 해결된다