pythonウェブフレームワークであるDjango(ver2.X)を利用して、ウェブサーバーを構築。 ニュースサイト風を目指していた。
install python 3.5.2 or newer
$ python3 pip install djangoinstall MySQL
$ sudo apt update
$ sudo apt install mysql-server mysql-clientinstall PyMySQL
$ apt-get install python3-dev libmysqlclient-dev
$ pip install PyMySQL
$ pip install mysqlclientDjangoのデフォルトデータベースはSQLiteであるが、ここでは拡張性を考えMySQLを利用。
データベースとユーザーの作成
$ mysql -u root -p
mysql> CREATE DATABASE DatabaseName;
mysql> GRANT ALL ON DatabaseName.* TO UserName@localhost IDENTIFIED BY 'UserName';
mysql> show grants for UserName@localhost;
+-----------------------------------------------------------------------+
| Grants for UserName@localhost |
+-----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'UserName'@'localhost' |
| GRANT ALL PRIVILEGES ON `DatabaseName`.* TO 'UserName'@'localhost' |
+-----------------------------------------------------------------------+作成したユーザーでデータベースへの接続確認
$ mysql -u UserName -p
mysql> select user();
+-------------------+
| user() |
+-------------------+
| UserName@localhost|
+-------------------+
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| DatabaseName |
+--------------------+マイグレート
$ python manage.py makemigrations
$ python manage.py migrateテーブル生成の確認
$ mysql -u root -p DatabaseName -e "show tables"
+----------------------------+
| Tables_in_DatabaseName |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
+---------------------------$ python manage.py runserver [port番号][port番号] オプションで指定しなかった場合は、8000がデフォルトで指定される。
-
トップページ http://localhost:8000
-
Adminページ http://localhost:8000/admin
-
json受信用ページ http://localhost:8000/json_page