django-import-exportで管理画面からCSVをインポート
django-import-exportで管理画面からCSVをインポート 情報を登録する際に一件づつ入力せずにCSVからまとめてインポートして登録が行えるので初期情報を登録する時などに便利な方法です。 コードはGitHu […]
Filter by Category
django-import-exportで管理画面からCSVをインポート 情報を登録する際に一件づつ入力せずにCSVからまとめてインポートして登録が行えるので初期情報を登録する時などに便利な方法です。 コードはGitHu […]
OSError: No translation files found for default language このエラーはDjangoで設定言語が間違ってる時に発生するエラーです。 settings.py setti […]
前回の内容が古くなってしまったので2021年版に更新します。 Dockerを使ってシンプルなDjangoとPostgreSQLの開発環境を構築する方法の2021年版です。以下の点が前回より変わった点です。・Volumeを […]
Pythonのrandomモジュールでランダムな小数・整数を生成 Pythonで乱数(ランダムな小数や整数)が生成できる、randomモジュールの使い方を説明します。 開発環境 float型の乱数を生成(1) float […]
NameError: name ‘os’ is not definedが表示される Djangoの開発を始める時に最初のstartappする前に以下のエラーが出る時があります。これは初期段階でse […]
Pythonのdatetimeで日付、時間の計算(2) 前回からの続きです。 今回は、曜日を取得したり、特定の曜日の日付を取得します。後半は文字列とdatetimeの変換について説明します。 開発環境 本日の曜日を取得 […]
会社説明動画をYouTubeで公開しました 昨年より続く世界規模の環境変化で、イベントをはじめとするオフラインのイベントが中止を余儀なくされています。そのため企業説明会や会社訪問で会うことができなかった多くの方に向けて、 […]
2020年の冬季休業のお知らせ 誠に勝手ながら、弊社では下記日程を冬季休業とさせていただきます。 冬季休業期間 2020年12月26日(土)~2021年1月11日(月) 期間中にいただきましたお問い合わせにつきましては、 […]
群馬県立大泉高等学校で弊社代表の石井が講演しました 2020年11月5日(木)に群馬県立大泉高等学校で弊社代表の石井が講演しました。
Pythonのdatetimeで日付、時間の計算(1) Pythonには日付や日時を扱うdatetimeモジュールがありますが、日付の取得・計算にはtimedeltaを使います。 開発環境 現在の日付、時刻を取得 日付の […]
Pythonのdatetimeで日付や時刻を扱う Pythonには日付や日時を扱うdatetimeモジュールがあります。今回はこのdatetimeモジュールを解説します。 開発環境 現在の日付を取得 現在の時刻を取得 現 […]
Djangoでマイグレーションをやり直す Djangoで開発中にマイグレーションを元に戻したり(ロールバック)、やり直したくなった時の方法です。部分的に戻す方法と初期化したい方法の2パターンを紹介します。 開発環境 まず […]
2020年の夏季休業のお知らせ 誠に勝手ながら、弊社では下記日程を夏季休業とさせていただきます。 夏季休業期間 2020年8月13日(木)~2020年8月16日(日) 期間中にいただきましたお問い合わせにつきましては、夏 […]
psycopg2がインストールできずエラーになる DjangoでPostgreSQLに接続するために、以下のコマンドでpsycopg2をインストールしたところ、以下のエラーが発生した時の対処法です。 エラー 実際には…の […]
Djangoのi18n用にGNU gettextをインストール 上記コマンドを実行したときにGNU gettextがインストールされていないと以下のエラーが発生します。 エラーを解決するにはGNU gettextのインス […]
Djangoの国際化(i18n)で多言語化(後半) 前回からの続きです。 コードはGitHubリポジトリにあげています。 上記コードを実行すると、locale/en/LC_MESSAGES/django.poが生成されま […]
Djangoの国際化(i18n)で多言語化(前半) Djangoの国際化(i18n)で日本語と英語の多言語化サイトを構築します。 コードはGitHubリポジトリにあげています。 開発環境 ソースコード multiling […]
多次元配列から最大値、最小値を取得 Pythonで複数の配列からなる多次元配列から最大値、最小値を取得する方法です。一次元配列も同じやり方で最大値、最小値を取得可能です。 モジュールのインストール ソースコード arr1 […]
Pythonで文字列をリスト化して一文字づつ処理 Pythonで文字列をリスト化して一文字づつ処理する方法です。サンプルでは一文字づつ文字をshift-jisに変換して、変換できない文字を表示します。 開発環境 ソースコ […]
2020年GW休業のお知らせ 平素は格別のお引立てを賜り、厚く御礼申し上げます。 誠に勝手ながら、弊社では下記日程をゴールデンウィーク休業とさせて頂きます。 2020年5月2日(土)~ 2020年5月6日(水) […]
情報を登録する際に一件づつ入力せずにCSVからまとめてインポートして登録が行えるので初期情報を登録する時などに便利な方法です。
コードはGitHubリポジトリにあげています。
開発環境
$ python -V
Python 3.8.0
$ tree
.
├── db.sqlite3
├── guest
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── django_import_csv
│ ├── __init__.py
│ ├── __pycache__
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── static
│ └── images
└── template
django-import-exportをインストールします。
$ pip install django-import-export
settings.py
For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
"""
import os
from pathlib import Path
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
...
# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'
USE_I18N = True
USE_L10N = True
USE_TZ = True
import os
を追記
LANGUAGE_CODE = 'ja'
に変更
TIME_ZONE = 'Asia/Tokyo'
に変更
models.py
from django.db import models
# Create your models here.
class Guest(models.Model):
name = models.CharField(max_length=20)
job = models.CharField(max_length=10)
age = models.IntegerField()
class Meta:
db_table = 'guest'
verbose_name = 'ゲスト'
verbose_name_plural = 'ゲスト一覧'
def __str__(self):
return self.name
name, job, ageの三種類を保存するモデルを作成します。
admin.py
from django.contrib import admin
from import_export import resources
from import_export.admin import ImportExportActionModelAdmin
from import_export.formats import base_formats
from guest.models import Guest
# Register your models here.
class GuestResource(resources.ModelResource):
class Meta:
model = Guest
fields = ('id', 'name', 'job', 'age')
import_id_fields = ['id']
class GuestAdmin(ImportExportActionModelAdmin):
list_display = (
'name',
'job',
'age'
)
resource_class = GuestResource
formats = [base_formats.CSV]
admin.site.register(Guest, GuestAdmin)
管理サイトにログインしてインポートをクリック
インポートするcsvファイルを選択
インポートするCSVファイルは以下のようになっています。(ファイルは以下からダウンロードできます)
インポートするデータのプレビューを確認して問題なければ実行
csvからデータがインポートされました
Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Selenium Sentry slack tqdm uWSGI venv Vue.js youtube
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません
Comments