質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

djangoの{% load static %}がそのままページに表示される

teddy1121
teddy1121

総合スコア35

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0評価

0クリップ

152閲覧

投稿2022/06/20 03:28

編集2022/06/20 15:52

前提

よろしくお願いします。
現在、Windows11 +python+ django + apacheで社内サーバーを立てようとしています。
python, django, apacheのインストールはそれぞれできたようです。
バージョンはそれぞれ、
Windows11pro
python:3.10.5
django:4.0.5
apache:2.4.52
※すべて64bit
※mood_wsgiも導入しています。

実現したいこと

djangoで作成したwebアプリを社内サーバーで公開したいです。
クライアントは固定IPではない複数台です。

発生している問題・エラーメッセージ

djangoで作成したアプリについてはvidualstudioのローカル環境ではちゃんと動いています。
ところが、apacheを通して公開したとき、staticにあるファイルを何も読み込みません。
それどころか、{% load static %}や{% csrf_token %}の文字もそのまま画面に表示されます。
色々調べましたが、cssを読み込まないなどの説明はあるのですが、この現象について書いてあるサイトは見つけられませんでした。
ZAMPPでapacheは正常に立ち上がります。
素人考えでdjangoがちゃんと動いていないのかなと思ったのですが、解決の手立てを見つけられませんでした。

※以下コードはどこを載せればいいかわからなかったのでご指摘ください。

該当のソースコード

httpd.conf

Define SRVROOT "C:/xampp/apache" ServerRoot "C:/xampp/apache" Listen 80 LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_core_module modules/mod_authn_core.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_core_module modules/mod_authz_core.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dav_lock_module modules/mod_dav_lock.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so LoadModule headers_module modules/mod_headers.so LoadModule include_module modules/mod_include.so LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule cache_disk_module modules/mod_cache_disk.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule ssl_module modules/mod_ssl.so LoadModule status_module modules/mod_status.so LoadModule version_module modules/mod_version.so LoadModule wsgi_module modules/mod_wsgi.so <IfModule unixd_module> User apache Group apache </IfModule> ServerAdmin test@test ServerName localhost:80 <Directory /> AllowOverride none Require all denied </Directory> DocumentRoot "C:/onlineApp/config/backend/templates/backend" <Directory "C:/onlineApp/config/backend/templates/backend"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> <IfModule dir_module> DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \ default.php default.pl default.cgi default.asp default.shtml default.html default.htm \ home.php home.pl home.cgi home.asp home.shtml home.html home.htm </IfModule> <Files ".ht*"> Require all denied </Files> ErrorLog "logs/error.log" LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog "logs/access.log" combined </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/" </IfModule> <IfModule cgid_module> </IfModule> <Directory "C:/xampp/cgi-bin"> AllowOverride All Options None Require all granted </Directory> <IfModule headers_module> RequestHeader unset Proxy early </IfModule> <IfModule mime_module> TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddHandler cgi-script .cgi .pl .asp AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule> <IfModule mime_magic_module> MIMEMagicFile "conf/magic" </IfModule> Include conf/extra/httpd-mpm.conf Include conf/extra/httpd-autoindex.conf Include conf/extra/httpd-languages.conf Include conf/extra/httpd-userdir.conf Include conf/extra/httpd-info.conf Include conf/extra/httpd-vhosts.conf Include "conf/extra/httpd-proxy.conf" Include "conf/extra/httpd-default.conf" Include "conf/extra/httpd-xampp.conf" <IfModule proxy_html_module> Include conf/extra/proxy-html.conf </IfModule> Include conf/extra/httpd-ssl.conf <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> AcceptFilter http none AcceptFilter https none <IfModule mod_proxy.c> <IfModule mod_proxy_ajp.c> Include "conf/extra/httpd-ajp.conf" </IfModule> </IfModule> #以下が主にネットなどで見て追加した部分 LoadFile "C:/Python/python310.dll" LoadModule wsgi_module "C:/Python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp310-win_amd64.pyd" WSGIPythonHome "C:/Python" WSGIScriptAlias /config /C:/onlineApp/config/config/wsgi.py WSGIPythonPath "C:/Python/Lib/site-packages" Alias /static/ "C:/onlineApp/config" <Directory "C:/onlineApp/config"> Require all granted </Directory> ### 試したこと python,django,apacheの入れ直し。 各種サイト(探しすぎてどれと言えないです)で調べたもの。 ※触りすぎてごちゃごちゃになったらすべて再インストールしています。 apacheは初めて触ったため初歩的なミスなどしているかもしれませんが皆さまのお知恵をお貸しください。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

AbeTakashi

2022/06/20 03:33

Apacheの設定が書かれてないと第三者はアドバイスのしようがないと思います。mod_wsgiは導入とは書いてますが、それをApacheの設定のLoadModuleでmod_wsgiを読み込んでますか? その辺を何もしてないならそんな挙動になるのでは?とは思いますが。ということで、まずは現状のApacheの設定を質問文に追記されることをオススメします。
teddy1121

2022/06/20 04:53

お忙しい中ご指摘ありがとうございます。 httpd.confを記載させて頂きました。※ここの字数制限に引っかかったようなのでコメントアウト部分は削除しました。 mod_wsgiはご覧いただけるような形では設定しています。 ここが間違っているのでしょうか? またご回答いただけたら幸いです。
AbeTakashi

2022/06/20 05:54 編集

XAMPP環境なんですね。質問文にもありましたが、(ZAMPPと書いてるので)見逃していました。その要素はWindowsだと重要な要素なので、目立つ場所にしっかり書いた方がいいと思います。 参考) https://arakan-pgm-ai.hatenablog.com/entry/2020/07/13/000000 このサイトを見るに、環境変数だの他にも色々要素があるようなので、現状の環境はなるべく詳細に書いた方がいいと思います。あと、Apacheのエラーログに何しかしら情報が出てるかもしれないので、そちらも必要に応じて確認及び質問文に追記されるといいかと思います。 たまたま私も先日、Linux上にてDjangoのセットアップをしていたのですが、あっという間に終わりました。Windows(特にXAMPP)だとDjangoの環境構築がかなり厳しそうだなと感じました。DockerなりWSLなりを使ってLinuxに近い環境でセットアップした方が、あとあとは楽かもしれません。
teddy1121

2022/06/20 06:44

AbeTakashiさんご回答ありがとうございます。私もかなり探していたのですが、教えて頂いたページの内容がドンピシャでした。 結果、{% load static %}の表示がなくなりdjangoとアパッチがつながったようです。 自分がサイトを元に変更したのは、 1.環境変数の追加 2.WSGIApplicationGroup %{GLOBAL}の追加 3.WSGIScriptAlias /config "C:/onlineApp/config/config/wsgi.pyをWSGIScriptAlias / "C:/onlineApp/config/config/wsgi.pyに変更 今回は1と3が原因だったと思われます。やはりパスが通ってなかったのですね… 途中までubuntuで作っていたのですが、会社の都合でどうしてもaccessデータベース(.accdb)に接続しなければいけなかったため急遽切り替えました。 あとはstaticファイルのパスなどを弄れば大丈夫そうです。 貴重なお時間を使っていただきありがとうございました!

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。