본문 바로가기

728x90
반응형

전체 글

(256)
Django DateField, HTML input type date Django의 DateField를 context로 HTML로 넘겼을 때, HTML의 type이 date인 input에서 받기 위해서는 표현방법 변환 필요 Django template에서 date filter tag로 형 변환 {{company.birth|date:'Y-m-d'}}
Python Pandas: read_excel, sheet, DataFrame forloop excel을 pandas로 불러오기: read_excel 특정 sheet를 읽는 옵션: sheet_name df_data = pd.read_excel(file, sheet_name='data') 불러온 값을 type을 찍어보면 DataFrame pandas의 DataFrame을 forloop 돌리기 for index, row in df_data.iterrows(): address = row.get('address') ...
Django admin: Register all models # Django admin page에 모든 모델 등록 django.apps.apps.get_app_config.get_models 이용 * get_app_config("APP NAME") 그 이후 for 문으로 admin.site.register에 등록 from django.contrib import admin from django.apps import apps model_list = apps.get_app_config('books').get_models() for model in model_list: admin.site.register(model)
Django not null CharField objects.create # not null 임에도 object가 생성되는 경우 # unpack # ** Django에서는 아래와 같이 꼭 입력을 받아야하는 CharField에 대해 null=True 조건을 주지 않고 생성합니다. (not null 이 default) models.py class CharTest(models.Model): a = models.CharField(max_length=10) b = models.CharField(max_length=10) 그런데 null=True를 주지 않은 not null 상태인데 값을 안받고 DB에 데이터가 생기는 경우가 있습니다. 어떤 경우인지 살펴보도록 하겠습니다. 아래와 같이 POST 요청으로 a를 받아서 object를 생성해보겠습니다. test.html {% csrf_token %} send 아래와 같이 하고 123을 입력해서 POST 요청을 해보겠습니다..
Django Template filter tag 만들기 # custom template filter tag 1. 원하는 곳에 폴더/파일 생성 ex) 프로젝트 최상단에 templatetags/replaceto.py 생성 2. settings.py 의 TEMPLATES에 등록 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR / 'templates'], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', '..
Django app 위치 변경 # + 생성 Django로 프로젝트를 진행하다 보면, static, template 디렉토리들과 django로 만든 app들을 분리해서 정리할 필요성을 느낄때가 있습니다. django-admin startapp 명령어를 통해 생성된 app들만 따로 모아서 분류하는 방법을 알아보겠습니다. django_apps 디렉토리를 만들어서 django-admin startapp 명령어를 통해 만들어진 users app을 django_apps에 이동시키는 예로 설명하겠습니다. 1) settings.py - INSTALLED_APPS 설정 INSTALLED_APPS = [ 'django_apps.users', ] 'users' -> 'django_apps.users'로 변경 2) django_apps.users의 apps.py 변경..
git cherry-pick github로 협업을 하다보면 이 브랜치 저 브랜치, 이사람 저사람 코드를 받아서 하다보면 최종적으로 합칠때 커밋의 순서가 섞이는 경우가 있습니다 이때 특정 커밋들을 원하는 순서대로 바꿔서 쌓은 후 최종적으로 병합을 해야할 때가 있습니다. 그럴때 유용하게 사용할 수 있는 cherry-pick을 살펴보겠습니다. 위와 같이 test1 브랜치에 test01, 02, 03의 순서로 커밋이 있습니다. test2 브랜치에서 위의 브랜치를 순서를 02 -> test01 -> 03의 순서로 가져오겠습니다. 명령어는 아래와 같습니다. git cherry-pick COMMIT_HASH test2 브랜치로 이동후에 02 commit의 commit hash 값의 축약값이 3b859ae 로 되어있습니다. git cherry-p..
Django ORM Query: ForeignKey로 연결된 필드 filter Django는 query문을 Django만의 문법으로 편하게 쓸수 있는 ORM Query를 제공 다른 테이블에 두고 연결해서 쓰는 ForeignKey나 ManyToMany field ForeignKey와 ManyToMany의 몇가지 사용 예제를 정리 ForeignKey 등을 models.py에서 설정할 때, 호출할 때 이름으로 related_name 으로 별도 설정을 할 수 있습니다. 하지 않으면 호출할 때 default로 선언한 ForeignKey에 대해서 _set의 형태로 호출해서 씁니다. 예를 들어 Class Book(models.Model): book = models.CharField() author = models.ForeignKey("Author", on_delete=models.CASCADE..

728x90
반응형