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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

584閲覧

HTMLでmetaタグを使って、自動的に他のページにジャンプすることができない

kakeru0225

総合スコア37

Django

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2022/06/29 09:23

編集2022/06/29 22:49

下記問題についてご教示頂けますと幸いです。

<解決したい問題>
【概要】
HTMLでmetaタグを使って、自動的に他のページにジャンプすることができない
【詳細】
おそらくURLの箇所に誤りがあることが分かっているものの、下記が原因で適切にmetaタグの内容を記述できていない。
・ローカル環境でブラウザを開いた時のURLの理解
・絶対パスと相対パスの理解

<お伺いしたいこと>
HTMLでmetaタグを使った画面の自動遷移の方法


<現状の理解>
<meta http-equiv="refresh" content="秒数;URL=URL">を使用すること
②URLは絶対パス、相対パスのどちらかで記述すること(今回は絶対パスで指定)

<不明点>
絶対パスには、「http//で始まるブラウザ上のリンク」と「遷移先のHTMLファイル名を記述する」というの二通りの記述方式があると理解しています。
今回は前者のブラウザ上のリンク、遷移先のHTMLファイル名の記述両方を試しました上手くいきませんでした。
下記記述方法で誤りがありましたらご教示頂けますと幸いです。

□「http//で始まるブラウザ上のリンク」
→ローカルサーバーでブラウザを立ち上げたあとに、遷移先のページのリンクをコピーし貼り付け
□遷移先のHTMLファイル名を記述する
→遷移元のファイル(introduce_2.html)と遷移先のファイル(introduce_3.html)の階層が一緒の為、
URLには遷移先のファイル(introduce_3.html)のみを記述

イメージ説明


<ソースコード>
introduce_2.html

introduce_2.html

1{% extends 'base.html' %} 2{% load static %} 3 4<html> 5 <head> 6 <title>template test</title> 7 <meta http-equiv="refresh" content="3;URL=http://127.0.0.1:8000/toppage/introduce_3"> 8 </head> 9 10 <header> 11 {% block header %} 12 自身と向き合おう 13 {% endblock header %} 14 {% block header2 %} 15 毎日の出来事や感情、次のステップに向けたアクションとその時に生まれた前向きな気持ちを記録し、 16 あなたのモチベーション・自己内省に活用します。 17 {% endblock header2 %} 18 <header> 19 20 <footer> 21 {% block footer %} 22 <a href="introduce_3", style="text-decoration:none;">次へ</a> 23 {% endblock footer %} 24 </footer> 25 26</html> 27

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RiaFeed

2022/06/29 10:58

ソースコードを見る感じURLに.htmlが付いてないからじゃないでしょうか?
kakeru0225

2022/06/29 11:26 編集

ご回答頂きありがとうございます! ご指摘の頂いた内容で下記のように修正いたしましたが、http://127.0.0.1:8000/toppage/introduce_2 にアクセスをしても三秒後に自動遷移されることはありませんでした。 <meta http-equiv="refresh" content="3;URL=http://127.0.0.1:8000/toppage/introduce_3.html"> 【疑問点】 ①まだ開発途中であり、python manage.py runserverでサーバーを立ち上げ、ローカル環境でリンクにアクセスしているため自動遷移がされないなどといったことがあるのか ②自身の理解として、該当ページにアクセスをすれば自動的に遷移する、と認識しているが、こちら検証の仕方が誤っているのか 上記以外にも、認識が誤っていればご教示頂きたいです、、、!
kakeru0225

2022/06/29 13:42 編集

お忙しい中ご教示頂き有難うございます! ご指摘頂いた方法で実装したところ無事動作いたしました。 <meta>タグをHTML範囲で調べるだけでなく、ご共有いただいたようにDjangoやテンプレートの継承の観点から調べてみるべきでした。 ご共有いただいた内容で大変勉強となりました。有難うございました! (回答欄に上記メッセージをコピペいただければベストアンサーにさせて頂きたく、もしよろしければご対応をお願い致します!)
guest

回答1

0

ベストアンサー

軽く調べてみた感じDjangのテンプレートのせいっぽいですね
{% block extra_head %}{% endblock %}がいるっぽい

https://stackoverflow.com/questions/55838069/django-how-to-include-a-meta-tag-in-only-1-template

投稿2022/06/29 13:46

RiaFeed

総合スコア2701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakeru0225

2022/06/29 13:49

①base.htmlタグの<head>タグ内に、{% block extra_head %}{% endblock %}を挿入 ②反映したいテンプレートの<head>タグ内に {% block extra_head %} <meta http-equiv="refresh" content="3;URL=http://127.0.0.1:8000/toppage/introduce_3"> {% endblock %} を挿入
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問