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

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

ただいまの
回答率

89.55%

Djangoを用いたウェブアプリケーションにお問い合わせ機能を付けたい

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 147

Dr.K

score 9

以下は書籍から引っ張ってきた例です。問題に影響がありそうなファイルのみ書いております。

そのまま実装しています。現在開発中で、HPのお問い合わせから送信されたものをPycharmに送信するまでを目指しています。
HTML,CSSともに間違いはなく、ローカルホストからHPを開くことが可能です。さらにお問い合わせ画面にも移ります。そこで文字を打ち、送信を押すのですが、送信画面に変化はなくPycharmに反映されることはありません。これはいったい何が問題だと考えられますか?

settings.py

from japweb.settings_common import *

# SECURITY WARNING: keep the secret key used in production secret!
DEBUG = True

ALLOWED_HOSTS = []

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,

    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': 'INFO',
        },
        'diary': {
            'handlers': ['console'],
            'level': 'DEBUG',
        },
    },

    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'dev'
        },
    },

    'formatters': {
        'dev': {
            'format': '\t'.join([
                '%(asctime)s',
                '[%(levelname)s]',
                '%(pathname)s(Line:%(lineno)d)',
                '%(message)s'
            ])
        },
    }
}

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

追記(Base.html)

{% load static %}
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
    <meta name="descripition" content="">
    <meta name="author" content="">

    <title>{% block title %}{% endblock%}</title>

    <!--Bootstrap core CSS-->
    <link href="{% static 'vendor/bootstrap/css/bootstrap.min.css' %}" rel="stylesheet">

    <!--Custom fonts for this template-->
    <link href="https://fonts.googleapis.com/css?family=Catamaran:100,200,300,400,500,600,700,800,900" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i" rel="stylesheet">

    <!--Custom styles for this template-->
   <link href="{% static 'css/one-page-wonder.min.css' %}" rel="stylesheet">

    <!--My style-->
     <link rel="stylesheet" type="text/css" href="{% static 'css/mystyle.css' %}">
    {% block head %}{% endblock %}
</head>

<body>

<div id="wrapper">
  <!-- Navigation -->
  <nav class="navbar navbar-expand-lg navbar-dark navbar-custom fixed-top">
    <div class="container">
      <a class="navbar-brand" href="{% url 'diary:index' %}">Squeeze Japanese</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarResponsive">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item {% block active_inquiry %}{% endblock%}">
                <a class="nav-link" href="{% url 'diary:inquiry' %}">INQUIRY</a>
            </li>
        </ul>
        <ul class="navbar-nav ml-auto">
          <li class="nav-item">
            <a class="nav-link" href="#">Sign Up</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">Log In</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

    {% block header %}{% endblock %}

    {% block contents%}{% endblock%}

    <!-- Footer -->
  <footer class="py-5 bg-black">
    <div class="container">
      <p class="m-0 text-center text-white small">Copyright &copy; Private Dairy 2020</p>
    </div>
    <!-- /.container -->
  </footer>

  <!-- Bootstrap core JavaScript -->
  <script src="{% static 'vendor/jquery/jquery.min.js' %}"></script>
  <script src="{% static 'vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
</div>
</body>
</html>

追記(Inquiry.html)

<!DOCTYPE html>
<html lang="ja">
<head>
    {% extends 'base.html'%}
    <meta charset="UTF-8">
    {% block title %}Inquiry:Private Diary{% endblock %}
    {% block active_inquiry %} active {% endblock %}

    {% block contents %}
</head>
<body>
<div class="container">
    <div class="row">
        <div class="my-div-style">
            <form method="post">
                {% csrf_token %}
                {{ form.non_field_errors }}
                {% for field in form %}
                <div class="form-group row">
                    <label for = "{{ field.id_for_label }}" class ="col-sm-4 col-form-label">
                        <strong>{{ field.label_tag }}</strong>
                    </label>
                    <div class="col-sm-8">
                        {{ field }}
                        {{ field.errors }}
                    </div>
                </div>
                {% endfor %}

                <div class="offset-sm-4 col-sm-8">
                    <buttun class="btn btn-primary" type="submit">submit</buttun>
                </div>
            </form>
        </div>
    </div>
</div>
{% endblock %}
</body>
</html>

追記(urls.py)

from django.urls import path
from. import views

app_name = 'diary'
urlpatterns = [
    path("", views.IndexView.as_view(), name="index"),
    path('inquiry/', views.InquiryView.as_view(), name='inquiry'),
]

追記(エラー分)

2020-03-22 21:31:45,167    [WARNING] C:\Users\django\utils\log.py(Line:228)    Not Found: /favicon.ico
2020-03-22 21:31:45,167    [WARNING] C:\Users\django\core\servers\basehttp.py(Line:157) GET/favicon.ico HTTP/1.1" 404 2304

Traceback (most recent call last):
handlers.py", line 138, in run
self.finish_response()
handlers.py", line 180, in finish_response
self.write(data)
handlers.py", line 274, in write
self.send_headers()
handlers.py", line 332, in send_headers
self.send_preamble()
handlers.py", line 255, in send_preamble
('Date: %s\r\n' % format_date_time(time.time())).encode('iso-8859-1')
handlers.py", line 453, in _write
result = self.stdout.write(data)
socketserver.py", line 799, in write
self._sock.sendall(b)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine
2020-03-22 21:31:45,167    [ERROR]    C:\Users\django\core\servers\basehttp.py(Line:157) "GET /favicon.ico HTTP/1.1" 500 59
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 52275)
Traceback (most recent call last):
handlers.py", line 138, in run
self.finish_response()
handlers.py", line 180, in finish_response
self.write(data)
handlers.py", line 274, in write
self.send_headers()
handlers.py", line 332, in send_headers
self.send_preamble()
handlers.py", line 255, in send_preamble
('Date: %s\r\n' % format_date_time(time.time())).encode('iso-8859-1')
handlers.py", line 453, in _write
result = self.stdout.write(data)
socketserver.py", line 799, in write
self._sock.sendall(b)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
handlers.py", line 141, in run
self.handle_error()
basehttp.py", line 119, in handle_error
super().handle_error()
handlers.py", line 368, in handle_error
self.finish_response()
handlers.py", line 180, in finish_response
self.write(data)
handlers.py", line 274, in write
self.send_headers()
handlers.py", line 331, in send_headers
if not self.origin_server or self.client_is_modern():
handlers.py", line 344, in client_is_modern
return self.environ['SERVER_PROTOCOL'].upper() != 'HTTP/0.9'
TypeError: 'NoneType' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
socketserver.py", line 650, in process_request_thread
self.finish_request(request, client_address)
socketserver.py", line 360, in finish_request
self.RequestHandlerClass(request, client_address, self)
socketserver.py", line 720, in __init__
self.handle()
basehttp.py", line 174, in handle
self.handle_one_request()
basehttp.py", line 197, in handle_one_request
handler.run(self.server.get_app())
handlers.py", line 144, in run
self.close()
basehttp.py", line 114, in close
super().close()
simple_server.py", line 35, in close
self.status.split(' ',1)[0], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'

追記(最終画像)

イメージ説明

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Dr.K

    2020/03/27 16:30

    こちらURLです。https://github.com/Kazuhiro-ch/japweb2.git

    キャンセル

  • FiroProchainezo

    2020/03/27 18:06

    github拝見しました。

    何を実行したら動作させられるかご教示いただけませんか。

    キャンセル

  • Dr.K

    2020/03/28 21:13

    基本的にはPycharmで動かしております。manage.pyを動かすことでローカルホストを立ち上げ、出てきたURLを適当なブラウザで検索することでHPが出現します。正直なところ、私も学習中で書籍に沿いながらの学習です。そのためどのファイルが何の役割を担っているのかというのはメインであるファイルのみしか知りません。つまりDjangoインストール後自分で作成したファイルのみということです。僕の行った手順としてまずは仮想環境を作成後、Djangoのインストール、DBの作成です。そのままランサーバーを動かせば一文目の動きをするはずです。ちなみに各ファイルはそれぞれフォルダにまとまっていたので分けなおす必要があるかもしれません。

    キャンセル

回答 1

0

別ページのご用意ありがとうございます。
もしかしたらこれでいけるかもしれないので、一度お試しください。

  1. static/imgにfavicon.icoを格納。favicon.icoの内容はなんでもよく、画像であればOK。
    https://ao-system.net/favicon/

  2. base.htmlの<head>内に
    <link rel="icon" href="{% static '/static/img/favicon.ico' %}">
    を追加

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/03/26 13:31

    gifhubにすべてあげることにします。そのほうがおそらく双方にとって都合がよいと思うので。掲載次第ご連絡いたします。ありがとうございます。

    キャンセル

  • 2020/03/27 16:30

    Githubにて中枢ファイルを公開いたしました。もしひつようなものがあればよろしくお願いいたします。

    キャンセル

  • 2020/03/27 16:31

    キャンセル

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

  • ただいまの回答率 89.55%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる