見出し画像

初心者でも簡単!Djangoで自分だけのWebサイトを作ろう

「自分だけのWebサイトを作りたいけど、どこから手をつければいいか分からない…」そんな悩みをお持ちのあなたへ。このページでは、PythonでWebアプリ開発をするための強力なフレームワーク、Djangoについて解説していきます。Djangoを使えば、複雑なWebアプリケーションも、比較的簡単に開発することができます。

Djangoとは?

Djangoは、Python製のオープンソースのWebアプリケーションフレームワークです。「Batteries Included」というコンセプトで、Webアプリケーション開発に必要な機能が最初から豊富に揃っているのが特徴です。

Djangoのメリット

  • 開発効率が高い: DjangoはMVC (Model-View-Controller) アーキテクチャを採用しており、コードを整理しやすく、開発効率が向上します。

  • セキュリティ対策が充実: Djangoは、クロスサイトスクリプティング(XSS)やSQLインジェクションなどの一般的なセキュリティ脆弱性に対する対策が組み込まれています。

  • 豊富な機能: ユーザー認証、データベース管理、フォーム処理など、Webアプリ開発に必要な機能が最初から用意されています。

  • 大規模なプロジェクトにも対応: Djangoはスケーラビリティに優れており、大規模なWebアプリケーションにも対応可能です。

  • 活発なコミュニティ: Djangoは世界中で多くの開発者によって使用されており、活発なコミュニティがあります。困った時には、フォーラムやドキュメントで解決策を見つけられるでしょう。

Djangoでできること

Djangoを使って、様々なWebアプリケーションを開発することができます。

  • ブログ: 投稿、コメント機能、タグ付けなど

  • Eコマースサイト: 商品登録、カート機能、決済処理など

  • ソーシャルメディア: ユーザー登録、投稿機能、フォロー機能など

  • 管理システム: データ管理、ユーザー管理、権限管理など

  • その他: アイデア次第で、様々なWebアプリが開発できます。

Djangoの始め方

Djangoを始めるには、以下の手順で環境を構築します。

  1. Pythonをインストール: DjangoはPythonで開発されたフレームワークなので、まずPythonをインストールする必要があります。

  2. Djangoをインストール: Pythonがインストールできたら、コマンドプロンプトやターミナルで pip install django を実行します。

  3. プロジェクト作成: django-admin startproject [プロジェクト名] を実行すると、プロジェクトフォルダが作成されます。

  4. サーバー起動: プロジェクトフォルダに移動して、python manage.py runserver を実行すると、開発用サーバーが起動します。

実際に作ったページ

実際に作ったページがこちらです。ぜひご覧ください!

https://st1986.pythonanywhere.com/Mappa/select_template/

自分で実際に作ったDjangoによるweb site

Foliumを使った地図の生成

上記のウェブサイトは以下の、Foliumとpythonを使ってHTML形式の地図を生成し、マーカーをプロットするためのコードです。このコードでは、データフレーム dfmapp の各行に対してマーカーを作成し、ポップアップ情報を表示します。


for i in range(len(dfmapp)):
    popup_text = dfmapp['売却価格'][i] + '<br>' + dfmapp['開札結果'][i] + '<br>' + dfmapp['入札者数'][i] + '<br>' + dfmapp['落札者資格'][i]
    html = '<a href =' + str(dfmapp['住所の記載先'][i]) + '"target="_blank"' + 'rel="noopener noreferrer"> ' +  '981.jp (別タブで開きます) ' +'</a>' + '<br>' + popup_text
    iframe = branca.element.IFrame(html=html, width=1000, height=400)
    popup = folium.Popup(iframe)

    if dfmapp['開札結果'][i] == '開札結果 → 売却':
        if dfmapp['落札者資格'][i] == '落札者資格 → 法人':
            folium.Marker(location=[dfmapp['x'][i], dfmapp['y'][i]],popup=popup,icon=folium.Icon(color='blue')).add_to(folium_map)
        elif dfmapp['落札者資格'][i] == '落札者資格 → 個人':
            folium.Marker(location=[dfmapp['x'][i], dfmapp['y'][i]],popup=popup,icon=folium.Icon(color='green')).add_to(folium_map)
        else:
            folium.Marker(location=[dfmapp['x'][i], dfmapp['y'][i]],popup=popup,icon=folium.Icon(color='black')).add_to(folium_map)
    elif dfmapp['開札結果'][i] == '開札結果 → 不売' or dfmapp['開札結果'][i] == '開札結果 → 取下':
        folium.Marker(location=[dfmapp['x'][i], dfmapp['y'][i]],popup=popup,icon=folium.Icon(color='red')).add_to(folium_map)
    elif dfmapp['開札結果'][i] == ' → 変更':
        folium.Marker(location=[dfmapp['x'][i], dfmapp['y'][i]],popup=popup,icon=folium.Icon(color='yellow')).add_to(folium_map)
    else:
        folium.Marker(location=[dfmapp['x'][i], dfmapp['y'][i]],popup=popup,icon=folium.Icon(color='gray')).add_to(folium_map)

plugins.Fullscreen(position="topright", title="拡大する", title_cancel="元に戻す",force_separate_button=True,).add_to(folium_map)

dt_now = datetime.datetime.now()
pathmap = os.path.join(r"C:\Users\Owner\Desktop\virtual\my_project\Mappa\templates\Mappa", str(dt_now.year) +'-'+ str(dt_now.month).zfill(2) +'-'+ str(dt_now.day).zfill(2) + '.html')


このコードでは、データフレーム dfmapp の各行に対してポップアップ情報を作成し、地図上にマーカーをプロットします。マーカーの色は、開札結果や落札者資格に応じて変更されます。また、地図をフルスクリーンにするボタンも追加されています。上記を応用して、今回のウェブアプリを作成しています。

まとめ

このページでは、PythonでWebアプリ開発をするための強力なフレームワーク、Djangoについて解説しました。Djangoは、開発効率が高く、セキュリティ対策も充実しており、初心者から上級者まで幅広く利用されています。さらに、Foliumを使った地図の生成方法についても紹介しました。ぜひDjangoとFoliumを使って、あなただけのオリジナルサイトを作ってみましょう!

寄付のお願い

この記事が役に立ったと感じた方は、ぜひ寄付を検討していただけると嬉しいです。寄付は、今後も有益な情報を提供し続けるためのサポートとなります。ご協力よろしくお願いいたします。

ここから先は

9字 / 1画像

¥ 300

この記事が気に入ったらチップで応援してみませんか?