Published Date : 2020年12月14日11:44

Pythonを使用した税金計算(日本の個人事業主)【Part 2】
Tax Calculation Using Python (Japanese Sole proprietor)【Part 2】


This blog has an English translation


YouTubeにアップした動画の説明記事です。

This is a blog post about a video I uploaded to YouTube.

細かい部分は動画を参考にしてください。

Please refer to the video for details.


目次

Table of Contents




① 動画の説明
① Video Description



警告:

今回説明する給与所得者の所得税及び住民税を計算するツールは、あくまで簡易的なお遊び用のツールです。

正確な数値、計算方法は各自で調べて下さい。

このツールは大雑把に大体の見積りを計算して楽しむ為のツールです。

決して従業員の年末調整や個人の確定申告等に使用しないでください。

さらに、税金の計算方法は変更される場合があり、控除についても同様です。

また、控除や税金の計算方法が間違っている可能性もありますので、

あまり信用せずに、各自で調べてから実験してみてください。

このツールを使って何かしらの損害が発生したとしても、私は一切の責任を負いません。

Warning:

​The tool I'm going to show you for calculating income and residence taxes for salaried workers is just a simple tool for playing.

​Please check the exact number and calculation method by yourself.

​This tool is used to calculate rough estimates and enjoy them.

​Do not use for year-end adjustment of employees or for individual tax return.

In addition, the method of calculating taxes and deductions may change.

Also, there is a possibility that the deduction and tax calculation methods are incorrect.

Don't trust it too much, and test it yourself.

​I will not be liable for any damage caused by using this tool.

まず適当な作業用フォルダを作り、管理者権限でPowerShellを立ち上げます。

​First, create an appropriate working folder and launch the PowerShell with administrator privileges.

作業用フォルダへ移動します。

Navigate to the working folder.

Pythonの標準モジュールであるvenvを使って仮想環境を構築します。

Build a virtual environment using the standard Python module venv.

python -m venv "your virtual environment name"

PowerShellでは悪意のあるスクリプトの実行を防ぐために、デフォルトでスクリプトの実行を無効にする設定になっているので、この設定を変えます。

To prevent malicious script execution, PowerShell disables script execution by default, so change this setting.

Set-ExecutionPolicy RemoteSigned -Scope Process

この設定をしないと、仮想環境に入れません。

​Otherwise, you cannot enter the virtual environment.

pipをアップグレードします。

​Upgrade the pip.

python -m pip install --upgrade pip

django-toolbeltを使えばDjangoやGunicorn等のパッケージを一括でインストールすることができます。

​You can use django-toolbelt to install packages like Django and Gunicorn in bulk.

pip install django-toolbelt

インストールが終了したら、django-admin startprojectを使用してDjangoのプロジェクトを作成します。

​Once installed, create a Django project using django-admin startproject.

django-admin startproject "your project name"

作成したDjangoプロジェクトに移動します。

​Navigate to the Django project you created.

cd "your project name"

applicationフォルダを作成して、python manage.py startappを使用してDjangoアプリを作成します。

​Create an application folder and use python manage.py startapp to create a Django app.

mkdir "project/application name"
python manage.py startapp "application name" "project/application name"

templatesフォルダとstaticフォルダを作成します。

​Create the templates and static folders.

python manage.py runserverを実行して挙動を確かめます。

​Run python manage.py runserver to see how it works.

VS Codeを立ち上げて、settings.pyを編集します。

​Launch VS Code and edit settings.py.

osモジュールをインポートして、プロジェクトのフォルダをベースダィレクトリとして認識できるように設定します。

​Import the os module and configure it to recognize project folder as base directory.

staticフォルダへのパスを認識させ、アプリを登録します。

It recognizes the path to the static folder and registers the application.

templatesフォルダへのパスを認識させます。

​Identifies the path to the templates folder.

os.getenv()を使用してデータベースを登録する。

Register the database using os.getenv().

環境変数のDB_NAMEが存在しない場合は、二つの目の引数のデフォルト値を使用する。

If the environment variable DB_NAME does not exist, the default value of the second argument is used.

言語を日本語に、時間を日本時間に設定する。

​Set the language to Japanese and the time to Japanese time.

templatesフォルダ直下にindex.htmlを作成し、bootstrapのcssとjs、そしてJQueryへのパスを記述する。

Create index.html directly under the templates folder and write the path to bootstrap's css, js, and JQuery.

そして、いつものようにjinja2を利用してブロックコンテンツとpython変数をHTML内に埋め込みます。

Then, as usual, use jinja2 to embed block content and python variables in the HTML.

bootstrapのcssとjs、そしてJQueryをstaticフォルダへコピーする方法は前回のシリーズを参考にしてください。

​See the previous series for how to copy bootstrap css, js, and JQuery to a static folder.

そして、templatesフォルダ内にあるそれぞれのアプリのフォルダ内にapplication用HMTLファイルを作成します。

​Then, create an HMTL file for application in each application folder in the templates folder.

サーバーへアクセスがあった時にアプリケーションのurls.pyへ繋げるようにプロジェクトのurls.pyを設定します。

​Set the project's urls.py to connect to the application's urls.py when the server is accessed.

それぞれのアプリにurls.pyを作成して、アプリケーションが動作する為のURLと関数を設定します。

Create urls.py for each application, and set the URL and function for the application to work.

あとは、それぞれのアプリのviews.pyにアプリケーションの動作を記述していくだけです。

Then, all you have to do is write the behavior of each application in views.py.

index.htmlにload staticを追加するのを忘れずに。

​Don't forget to add load static to index.html.

それではサーバーを立ち上げて、挙動を確かめてみましょう。

Let's start the server and see how it works.



以上です。お疲れ様です。

That's all. Thank you for your hard work.