반응형

inspectdb 하다가 아래 에러가 발생


django.db.utils.DatabaseError: ORA-24454: client host name is not set


서버에 hostname이 제대로 세팅되어 있지 않은 경우 발생하는 오류
먼저 /etc/sysconfig/network에 HOSTNAME 이 정의되어 있는지 체크

vi /etc/sysconfig/network
-------------------------------------
NETWORKING=yes
HOSTNAME=NAME
-------------------------------------
호스트 네임은 정상인부분 확인


vi /etc/hosts
-------------------------------------
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
내ip      NAME
-------------------------------------

내가 사용하고자 하는 IP와 HOSTNAME 연결 해준후 inspectdb 하니 오류 발생안함



참고

- https://dba.stackexchange.com/questions/167477/ora-24454-client-host-name-is-not-set-when-connecting-from-ubuntu-instance-on


반응형

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

putty 깨짐  (0) 2019.02.07
(98)Address already in use  (0) 2019.02.07
Rest Framework  (0) 2019.01.31
Postman POST 오류  (0) 2019.01.23
앱별로 로그쌓기  (0) 2019.01.22
반응형

pip install djangorestframework


settings.py


INSTALLED_APPS = [

...

'rest_framework',

]


그리고 개별 serializers를 만들자.

https://github.com/KimDoKy/DjangoRestFramework-Tutorial/blob/master/REST%20Framework%20Tutorial.md







참고

Restframework 시작하기

https://javafa.gitbooks.io/python-django/content/chapter4.html


모델참조아닌 기본 serializers 만들기

https://github.com/KimDoKy/DjangoRestFramework-Tutorial/blob/master/REST%20Framework%20Tutorial.md


ListField

https://www.django-rest-framework.org/api-guide/fields/#listfield

https://stackoverflow.com/questions/37629501/django-rest-framework-listfield-and-dictfield

반응형

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

(98)Address already in use  (0) 2019.02.07
Django host name error  (0) 2019.02.07
Postman POST 오류  (0) 2019.01.23
앱별로 로그쌓기  (0) 2019.01.22
로그 백업 방식 (logging - handlers)  (0) 2019.01.22
반응형

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

+ Recent posts