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

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

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

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

Python

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

Q&A

解決済

2回答

411閲覧

Djangoのサイト移動(href = "#")についての質問です。

Mario_11

総合スコア95

Django

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

Python

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

0グッド

0クリップ

投稿2020/01/09 04:35

編集2020/01/09 04:36

Djangoのリンク先の移動についての質問です。

こちらのサイトを活用し自分のアプリに組み込もうとしたのですが、分からない点があり質問させていただきました。
https://qiita.com/okoppe8/items/54eb105c9c94c0960f14

html

1{% extends "register/base.html" %} 2{% load crispy_forms_tags %} 3{% block content %} 4{{ form.certifications.errors }} 5<div class="container"> 6 <div class="row"> 7 <div class="col-12"> 8 <h2 class="text-center">データ入力</h2> 9 </div> 10 </div> 11 <div class="row"> 12 <div class="col-12"> 13 <div class="float-right"> 14 <a class="btn btn-outline-secondary" href="{% url 'register:top' %}">戻る</a> 15 <a class="btn btn-outline-secondary save" href="#">保存</a> 16 </div> 17 </div> 18 </div> 19 <div class="row"> 20 <div class="col-12"> 21 <form method="post" id="myform"> 22 {%crispy form%} 23 </form> 24 </div> 25 </div> 26 <div class="row"> 27 <div class="col-12"> 28 <div class="float-right"> 29 <a class="btn btn-outline-secondary" href="{% url 'register:top' %}">戻る</a> 30 <a class="btn btn-outline-secondary save" href="#">保存</a> 31 </div> 32 </div> 33 </div> 34</div> 35{% endblock %}

上記は入力フォームです。保存先のURLが、 href="#" となっています。
href="#"はページのトップに遷移すると思っていたのですが保存され、一覧ページに移動できたのですがなぜですか?
urls.py

python

1urlpatterns = [ 2 path('', ItemFilterView.as_view(), name='index'), 3 path('detail/<int:pk>/', ItemDetailView.as_view(), name='detail'), 4 path('create/', ItemCreateView.as_view(), name='create'), 5 path('update/<int:pk>/', ItemUpdateView.as_view(), name='update'), 6 path('delete/<int:pk>/', ItemDeleteView.as_view(), name='delete'), 7]

views.py

python

1class ItemCreateView(LoginRequiredMixin, CreateView): 2 model = Item 3 form_class = ItemForm 4 success_url = reverse_lazy('index')

urls.py、views.pyも変わったところが見当たらず。わかる方教えてください、よろしく願いいたします。

下記が一覧表示ページです。

html

1{% extends "./_base.html" %} 2{% block content %} 3{% load crispy_forms_tags %} 4<div class="container"> 5 <div id="myModal" class="modal fade" tabindex="-1" role="dialog"> 6 <div class="modal-dialog" role="document"> 7 <div class="modal-content"> 8 <div class="modal-header"> 9 <h5 class="modal-title">検索条件</h5> 10 <button type="button" class="close" data-dismiss="modal" aria-label="閉じる"> 11 <span aria-hidden="true">&times;</span> 12 </button> 13 </div> 14 <form id="filter" method="get"> 15 <div class="modal-body"> 16 {{filter.form|crispy}} 17 </div> 18 </form> 19 <div class="modal-footer"> 20 <a class="btn btn-outline-secondary" data-dismiss="modal">戻る</a> 21 <button type="submit" class="btn btn-outline-secondary" form="filter">検索</button> 22 </div> 23 </div> 24 </div> 25 </div> 26 <div class="row"> 27 <div class="col-12"> 28 <a class="btn btn-secondary filtered" style="visibility:hidden" href="/?page=1">検索を解除</a> 29 <div class="float-right"> 30 <a class="btn btn-outline-secondary" href="{% url 'create' %}">新規</a> 31 <a class="btn btn-outline-secondary" data-toggle="modal" data-target="#myModal" href="#">検索</a> 32 </div> 33 </div> 34 </div> 35 36 <div class="row" > 37 <div class="col-12"> 38 {% include "./_pagination.html" %} 39 </div> 40 </div> 41 42 <div class="row"> 43 <div class="col-12"> 44 <ul class="list-group"> 45 {% for item in item_list %} 46 <li class="list-group-item"> 47 <div class="row"> 48 <div class="col-3"> 49 <p>名前</p> 50 </div> 51 <div class="col-9"> 52 <p>{{ item.name }}</p> 53 </div> 54 </div> 55 <div class="row"> 56 <div class="col-3"> 57 <p>登録日</p> 58 </div> 59 <div class="col-9"> 60 <p>{{item.created_at|date:"Y/m/d G:i:s"}}</p> 61 </div> 62 </div> 63 <div class="row"> 64 <div class="col-12"> 65 <div class="float-right"> 66 <a class="btn btn-outline-secondary " href="{% url 'detail' item.pk %}">詳細</a> 67 <a class="btn btn-outline-secondary " href="{% url 'update' item.pk %}">編集</a> 68 <a class="btn btn-outline-secondary " href="{% url 'delete' item.pk %}">削除</a> 69 </div> 70 </div> 71 </div> 72 </li> 73 {% empty %} 74 <li class="list-group-item"> 75 対象のデータがありません 76 </li> 77 {% endfor %} 78 </ul> 79 </div> 80 </div> 81 <div class="row" > 82 <div class="col-12"> 83 <div class="float-right"> 84 <a class="btn btn-outline-secondary" href="{% url 'create' %}">新規</a> 85 <a class="btn btn-outline-secondary" data-toggle="modal" data-target="#myModal" href="#">検索</a> 86 </div> 87 </div> 88 </div> 89</div> 90{% endblock %}

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

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

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

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

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

guest

回答2

0

ベストアンサー

ItemCreateViewsuccess_url(フォームが正常に処理されたときにリダイレクトするURL)にindex(一覧ページ)が指定されているからです。

ちなみにsuccess_urlは、ItemCreateViewが継承しているCreateViewの親クラスのFormMixinが持っている属性です。

参考
https://docs.djangoproject.com/en/3.0/ref/class-based-views/generic-editing/#createview
https://docs.djangoproject.com/en/3.0/ref/class-based-views/mixins-editing/#formmixin

投稿2020/01/09 05:03

NatsuToku

総合スコア103

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

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

Mario_11

2020/01/09 05:36

なるほど!勉強になりました!URLまでつけていただきありがとうございます!
guest

0

javascript

1// 連続送信防止 2$('.save').on('click', function (e) { 3 $('.save').addClass('disabled'); 4 $('#myform').submit(); 5})

が動いていますよね。

投稿2020/01/09 04:55

quickquip

総合スコア11029

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問