ijavascript

ijavascript https://n-riesco.github.io/ijavascript/index.html

2023年6月7日 · 1 分

pandas MySQL

pandas: MySQL sqlalchemy で mysqlclient を使うには、まず mysqlclient をインストールする必要があります。次に、SQLAlchemy のエンジン構成で mysqlclient を使用するように設定します。以下は、Qiita の記事 ¹ からの例です。 1 2 3 from sqlalchemy import create_engine engine = create_engine('mysql+mysqldb://user:password@host/dbname', echo=True) また、CData Python Connector for MySQL³ を使用することもできます。これは、SQLAlchemy ORM を使用して Python で MySQL データに連携するためのドライバです。 1 2 from sqlalchemy import create_engine engine = create_engine("mysql+mysqlconnector://user:password@host/dbname") どちらの方法でも、SQLAlchemy で MySQL に接続することができます。 ソース: Bing との会話 2023/6/7 (1) 【Python】SQLAlchemy で MySQL に接続する - Qiita. https://qiita.com/curry__30/items/432a21426c02a68e77e8. (2) SQLAlchemy ORM を使って、Python で MySQL データに連携 …. https://www.cdata.com/jp/kb/tech/mysql-python-sqlalchemy.rst. (3) 【Python】SQLAlchemy を試してみる - Qiita. https://qiita.com/ktamido/items/ebdbe5a85dbc3e6004ae. django .env に django の DATABASE_URL が定義されているとする ...

2023年6月7日 · 1 分

HTML メール

HTML メール HTML メールの作り方を 5 分で解説!簡単に作成する方法もこっそり教えます。

2023年6月5日 · 1 分

color

HTML カラーコード/カラーネーム HTML カラーコード CSS カラーコード一覧 カラーネーム CSS3 色名 VSCode Peacock VSCode を自分の好きな色に染める

2023年6月1日 · 1 分

MySQL 半角カナ検索

utf8mb4_0900_ai_ci 「utf8mb4_0900_ai_ci」という照合順序は、MySQL 8.0 から標準になった照合順序で、Unicode 9.0 の文字セットをサポートしています。¹ この照合順序は、文字列の比較において、アクセントや大小文字を区別せずに比較することができます。¹ また、日本語のようなマルチバイト文字を含む文字列を扱う場合にも適しています。¹¹: MySQL 8.0 の照合順序で標準になった「utf8mb4_0900_ai_ci」とは - Qiita ソース: Bing との会話 2023/5/31 (1) MySQL 8.0 の照合順序で標準になった「utf8mb4_0900_ai_ci …. https://qiita.com/seltzer/items/8b5d8a61591e72715d5b. (2) MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.5 …. https://dev.mysql.com/doc/refman/8.0/ja/charset-applications.html. (3) MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.4 接続文字 …. https://dev.mysql.com/doc/refman/8.0/ja/charset-connection.html. 半角カナの濁点ありは照合順序の設定では解決できない utf8mb4_0900_ai_ci での検索: where 結果 ベル ヘル, ベル, ヘル (つまり、 ベル は一致しない) ヘル ヘル, ベル, ヘル (つまり、 ベル は一致しない) ヘル ヘル, ベル, ヘル (つまり、 ベル は一致しない) ベル ベル (のみ) django-filter: method フィルターで対応 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 from functools import reduce from operator import or_ import django_filters as DF import jaconv def filter_icontains_mix(queryset, name, value): """全角半角を区別しないで検索(濁点対応)""" if not value: return queryset values = set([jaconv.h2z(value), jaconv.z2h(value)]) def _query(v): return Q(**{f"{name}__icontains": v}) query = reduce(or_, map(_query, values)) return queryset.filter(query) class OrderFilter(DF.FilterSet): ... customer_name__contains = DF.CharFilter( field_name="customer_name", lookup_expr="icontains", method=filter_icontains_mix ) ...

2023年5月31日 · 1 分

django session

Sessionのユーザーの取得 Djangoでセッションレコードがどのユーザーのものかを判定するには、以下のようにします。 1 2 3 4 5 6 7 8 from django.contrib.sessions.models import Session from django.contrib.auth.models import User for session in Session.objects.all(): uid = session.get_decoded().get('_auth_user_id') if uid: user = User.objects.get(id=uid) print(user.username) 参考文献: Django ドキュメント | セッションの使いかた ソース: Bing との会話 2023/5/30 (1) セッションの使いかた | Django ドキュメント | Django. https://docs.djangoproject.com/ja//2.2/topics/http/sessions/. (2) 【Django】ログイン判定機能の実装方法を実例付きで徹底解説. https://itc.tokyo/django/dynamic-links-by-user-info/. (3) Djangoで現在ログインしているユーザーのユーザーIDを取得する方法. https://qastack.jp/programming/12615154/how-to-get-the-currently-logged-in-users-user-id-in-django. SessionStoreをつかう 1 2 3 4 5 6 7 from django.contrib.sessions.backends.db import SessionStore key = "3gsbhdfm4g2uyyieaaxl1omor2p5f1on" store = SessionStore(session_key=key) store["ssout_required"] = True store.save()

2023年5月30日 · 1 分

pandas 指定カラムがnan以外のレコードのみ抽出

pandas: notna(): 指定カラムがnan以外のレコードのみ抽出 ダウンロードExcelファイルの 行数カラム に値がはいっているとエラー行: 1 2 3 4 5 6 names = { "行数": "line", "メッセージ": "message", } df = self.dataframe(response)[["行数", "メッセージ"]].rename(columns=names) df = df[df["line"].notna()]

2023年5月25日 · 1 分

Puppeteer

Puppeteer Puppeteer とヘッドレス Chrome を使って React の SPA サイトをクロールするためのスクリプトを記述するには、以下のようなコードを記述することができます ¹。 1 2 3 4 5 6 7 8 9 10 11 12 const puppeteer = require("puppeteer"); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto("https://example.com"); // SPA のページ遷移を待つ await page.waitForNavigation({ waitUntil: "networkidle0" }); // スクリーンショットを撮る await page.screenshot({ path: "example.png" }); await browser.close(); })(); 上記のコードでは、Puppeteer を使ってブラウザを起動し、指定した URL にアクセスしています。その後、SPA のページ遷移が完了するまで待機し、スクリーンショットを撮影しています。必要に応じて、このコードを改良していただければと思います。 ...

2023年5月23日 · 1 分

django-import-export

django-import-export django-import-export = "^2.4.0" settings.py 1 2 3 4 5 INSTALLED_APPS += [ ... "import_export", ... ] resources.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 from import_export import resources from .. import models class DepartmentResource(resources.ModelResource): class Meta: model = models.Department import_id_fields = ["code", "company_code"] # 複合キー exclude = ["company", "jobposts", "origin", "status"] # 除外 def get_instance(self, instance_loader, row): instance = super().get_instance(instance_loader, row) exclude = [] if instance: exclude += ["is_m03", "is_tmb"] # 更新除外 list(map(lambda i: row.pop(i, None), exclude)) return instance admin.py 1 2 3 4 5 6 7 8 9 10 11 12 13 from import_export.admin import ImportExportActionModelAdmin from . import inlines, resources class BaseModelAdmin(ImportExportActionModelAdmin): exclude = ["created_at"] readonly_fields = ["updated_at"] @admin.register(models.Department) class DepartmentAdmin(BaseModelAdmin): ... resource_class = resources.DepartmentResource

2023年5月18日 · 1 分

Headless CMS

Headless CMS 【2023年】人気のヘッドレスCMSを徹底比較!Contentful・Strapi・Hygraphなど。

2023年5月18日 · 1 分