Help us understand the problem. What is going on with this article?

Djangoを使って将棋棋譜管理アプリを作る1 ~環境構築~

はじめに

これから何回かに渡って、Djangoを使って将棋の棋譜管理アプリを作っていこうと思います!

どうして作ろうと思ったか?

まず第一に、僕が最初に本格的に学習した言語がPythonでして、それを使って「何か」つくりたいなぁ~と思ったからです。
そこで趣味である将棋の、「僕の対局履歴の棋譜を管理できたらいいんじゃね」と思ったことがきっかけでした。

そこで始めはFlaskを使って途中まで作っていたのですが、周りの人の意見を聞くと、「絶対Djangoの方がいい!」ということになり、改めて一から作り直すことにしました。

ここでは、備忘録も含めて、作業工程をきままに綴っていきますので、よろしくお願いします。

作業環境

今回の作業環境は以下の通りです

  • Windows 10 Pro
  • Anaconda
    • version1.7.2
    • python 3.7
      • django 2.2.5
  • git
    • version 2.25.0.windows.1

本稿の内容

  • Anacondaでの仮想環境の作成
  • Djangoの設定
  • Djangoを管理する上でのGitの設定

Anacondaで仮想環境の作成

そもそもAnacondaが何なのか分かっていなかった(1dayインターンで入れろと言われたから入れた)。
そこでAnacondaについて以下の記事に詳しく載っていたので、勉強させていただきました。
【初心者向け】Anacondaで仮想環境を作ってみる

また、Djangoのインストールも含めて、次のサイトも参考にさせていただきました。
【Anaconda+Django】 PythonでWebアプリを開発してみる。

今回は、kifu_appという仮想環境を作りました。

$ anaconda -V
anaconda Command line client (version 1.7.2)

$ activate kifu_app

(kifu_app) $ python -V
Python 3.7.6

Djangoのインストール

先程のブログを参考にしたら簡単に終わりました。

Djangoの設定

Djangoプロジェクトの作成

以下の記事を参考にさせていただきました。
Djangoを最速でマスターする part1

プロジェクトを作りたいディレクトリに移動して、次を入力します

$ django-admin startproject kifu_app

これで以下のディレクトリ構造のプロジェクトができました!

- kifu_app_project/
    - kifu_app_project/
        - setting.py
        - urls.py
        - wsgi.py
        - __init__.py
    - manage.py

アプリの作成

上側のkifu_app_projectディレクトリ内で、次を実行します

$ python manage.py startapp kifu_app

するとディレクトリ構造は次のようになります。

- kifu_app_project/
    - kifu_app_project/
        - setting.py
        - urls.py
        - wsgi.py
        - __init__.py
    - manage.py
    - kifu_app
        - admin.py
        - apps.py
        - migrations
        - models.py
        - tests.py
        - views.py
        - __init__.py

最後に、setting.pyに以下のものを追加します。(アプリを作ったよ!という報告だそうです)

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'kifu_app',     # <-これを追加
]

Gitの連携

どうせなのでGitも練習がてら使えるようにします。
これもkifu_app_projectという名前で、GitHubにリモートリポジトリを作成しました。

コミットなどの詳細は、以下の記事を参考にしました。
Djangoの使い方~デプロイ編①~

まず、上の階層の方のkifu_app_project内に.gitignoreファイルを作ります。
.gitignoreは、指定したファイルを追跡対象から外すようにするものです。

.gitignore
# Created by https://www.gitignore.io/api/django
# Edit at https://www.gitignore.io/?templates=django

### Django ###
*.log
*.pot
*.pyc
__pycache__/
local_settings.py
db.sqlite3
db.sqlite3-journal
media

gitignore.ioというサイトで、.gitignoreに書くべきことのテンプレートを作ってくれます。

準備が完了したら、最初のコミットをしていきます。

$ git init
Initialized empty Git repository in ~/djangogirls/.git/

$ git config --global user.name "Githubの登録ユーザー名"

$ git config --global user.email Githubの登録メールアドレス

$ git add --all .

$ git commit -m "My Django Girls app, first commit"
13 files changed, ~~~

$ git remote add origin リポジトリのURL

$ git remote -v
origin  リポジトリのURL

$ git push -u origin master

上から順にコマンドを実行していけば大丈夫なハズです。
詳しく説明していただいている方が他にもいらっしゃるので、そちらを参考にしてください。

GitHubを確認すると、確かにpush出来ていました!

次回予告

次回は、データベースの設定を行っていきます!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした