반응형

Postman이라는 프로그램 다운로드 후 POST 테스트를 진행


POST로 보냈지만 GET으로 전달되는 오류 발생



from django.views.decorators.csrf import csrf_exempt


@csrf_excempt

def test(request):


함수위에 저렇게도 써봤지만 동일했다.



그러다 발견한 댓글


@rogierborst thanks for answer! Remove slash at the end of URL worked for me!

POST

http://api.domain.com/api/products/

to

http://api.domain.com/api/products


/를 붙였더니 제대로 작동했다.



/하나로 POST인지 GET인지 나뉠수 있나보다...



참고 : 

https://github.com/postmanlabs/postman-app-support/issues/450



반응형

'개발 > django' 카테고리의 다른 글

Django host name error  (0) 2019.02.07
Rest Framework  (0) 2019.01.31
앱별로 로그쌓기  (0) 2019.01.22
로그 백업 방식 (logging - handlers)  (0) 2019.01.22
Fake  (0) 2019.01.17
반응형

Django자체에 앱별로 로그를 쌓게 하는 기능은 따로 없는 듯 하다.


그나마 아래 방법을 찾았는데, 앱별로 분개가 가능할듯 하다.


테스트는 아직 미진행 -> 진행완료


테스트해봤는데 아주 잘된다. 굿.


import os
import datetime

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'rest_framework.authtoken',
]

MY_APPS = [
    'accounts'
]

INSTALLED_APPS += MY_APPS

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
    },
    'loggers': {
    }
}

MY_LOGGERS = {}
MY_HANDLERS = {}
for app in MY_APPS:
    directory = os.path.dirname(os.path.dirname(__file__)) + "/var/log/" + app + "/"
    if not os.path.exists(directory):
        os.makedirs(directory)

    MY_HANDLERS[app] = {
        'level': 'DEBUG',
        'class': 'logging.handlers.RotatingFileHandler',
        'filename': directory + '/' + str(datetime.date.today()) + '.log',
        'maxBytes': 1024*1024*5,
        'backupCount': 5,
        'formatter': 'verbose'
    }

    MY_LOGGERS[app] = {
        'handlers': [app],
        'level': 'DEBUG',
        'propagate': True,
    }
LOGGING['handlers'].update(MY_HANDLERS)
LOGGING['loggers'].update(MY_LOGGERS)



참고 : 

https://stackoverflow.com/questions/34911068/django-how-can-we-generate-app-wise-log-with-app-name-directory-and-todaydate-lo

반응형

'개발 > django' 카테고리의 다른 글

Rest Framework  (0) 2019.01.31
Postman POST 오류  (0) 2019.01.23
로그 백업 방식 (logging - handlers)  (0) 2019.01.22
Fake  (0) 2019.01.17
MacOS에 설치하기  (0) 2019.01.09
반응형

기존에 쓰고있던 로그방식

 - 파일 사이즈만큼 로그가 쌓이면 백업하는 방식

-----------------------------------------------------------------------------------------------setting.py

LOGGING = {

    'version': 1,

    'disable_existing_loggers': False,

    'formatters': {

        'verbose': {

            'format': "[%(asctime)s] [%(name)s:%(lineno)s] [%(levelname)s] %(message)s",

            'datefmt': "%Y/%b/%d %H:%M:%S",

        },

    },

    'handlers': {

        'file': {

            'level': 'DEBUG',

            'class': 'logging.handlers.RotatingFileHandler',

            'filename': os.path.join(BASE_DIR, 'log/debug.log'),

            'formatter': 'verbose',

            'maxBytes': 1024*1024*5, # 5MB

            'backupCount': 7,

        },

    },

    'loggers': {

        'django': {

            'handlers': ['file'],

            'level': 'DEBUG',

            'propagate': True,

        },

    },

}

-------------------------------------------------------------------------------------------------------



새로 알게된 로그방식

 - 날짜별로 로그 백업


-----------------------------------------------------------------------------------------------setting.py

LOGGING = {

    'version': 1,

    'disable_existing_loggers': False,

    'formatters': {

        'verbose': {

            'format': "[%(asctime)s] [%(name)s:%(lineno)s] [%(levelname)s] %(message)s",

            'datefmt': "%Y/%b/%d %H:%M:%S",

        },

    },

    'handlers': {

        'file': {

            'level': 'DEBUG',

            'class': 'logging.handlers.TimedRotatingFileHandler',

            'filename': os.path.join(BASE_DIR, 'log/debug.log'),

            'formatter': 'verbose',

            'when': 'D',

'interval': 1,

            'backupCount': 7,

        },

    },

    'loggers': {

        'django': {

            'handlers': ['file'],

            'level': 'DEBUG',

            'propagate': True,

        },

    },

}

-------------------------------------------------------------------------------------------------------


더 확인해봐야 할 사항들은 when과 interval이다

현재 추측으로는 D는 day를 의미하는듯 하고 interval은 말그대로 주기인듯 하다.



참조 :

https://stackoverflow.com/questions/33990693/django-log-to-file-by-date-or-hour

반응형

'개발 > django' 카테고리의 다른 글

Postman POST 오류  (0) 2019.01.23
앱별로 로그쌓기  (0) 2019.01.22
Fake  (0) 2019.01.17
MacOS에 설치하기  (0) 2019.01.09
ssh root 로그인 제한  (0) 2017.05.30
반응형

python manage.py migrate prepay 실행시 아래와 같은 에러 발생 (여기서 prepay는 앱이름)


- django.db.utils.DatabaseError: ORA-00955: name is already used by an existing object


python manage.py migrate prepay --fake 하니 에러없이 동기화되었다.




반응형

'개발 > django' 카테고리의 다른 글

앱별로 로그쌓기  (0) 2019.01.22
로그 백업 방식 (logging - handlers)  (0) 2019.01.22
MacOS에 설치하기  (0) 2019.01.09
ssh root 로그인 제한  (0) 2017.05.30
Django, Python3.6, virtualenv, mod_wsgi, CentOS6.5  (0) 2017.05.30
반응형

Python3.7, Django2.1, cx_Oracle7, instantclient12_1


1. Python3.7

   - www.python.org 에서 다운받아 설치

   - 설치경로 확인하는 명령어 : which python3.7 (/usr/local/bin 폴더에 있음)


2. 가상환경구성

   - python3.7 -m venv myvenv

   - source myvenv/bin/activate


3. Django 설치

   - pip install django


4. Oracle 환경변수 설정

   - vi ~/.bash_profile

   - ORACLE_HOME="/Users/user/project/oracle/instantclient_12_1/"

export ORACLE_HOME


LD_LIBRARY_PATH=$ORACLE_HOME

export LD_LIBRARY_PATH


TNS_ADMIN=$ORACLE_HOME

export TNS_ADMIN

   - source ~/.bash_profile


5. cx_Oracle 설치

   - pip install cx_Oracle

     : gcc 없다는 에러 뜸


6. 에러처리하기

   - Appstore에서 Xcode 다운로드

   - https://brew.sh/index_ko.html 사이트에 있는 명령어로 brew 설치

   (왠지 Xcode만 설치해도 이상없을거 같다)


--------------------------------------------------------------

https://blog.naver.com/PostView.nhn?blogId=magiclamp777&logNo=221020841918

반응형

'개발 > django' 카테고리의 다른 글

로그 백업 방식 (logging - handlers)  (0) 2019.01.22
Fake  (0) 2019.01.17
ssh root 로그인 제한  (0) 2017.05.30
Django, Python3.6, virtualenv, mod_wsgi, CentOS6.5  (0) 2017.05.30
Django cx_Oracle ins 설정  (0) 2017.05.03

+ Recent posts