2017-05-06 4 views
0

DjangoのDeleteViewをよく理解しようとしていますが、this turorialに従ってください。ボタンのタグが正しく動作していない場合を除き、すべて正常に動作します。代わりに、入力タグを使用して動作させる必要がありました。このため、送信ボタンの中にグリフリコン/ゴミ箱(ブートストラップ)を配置することは不可能です。Djangoで面白い演技ボタン

いくつかのウェブサイトで特定の条件下でボタンタグが<input type="submit">の代替として適切に動作しないことが示唆されているので、pythonanywhere.comでそれを実行しているのと何か関係があるのだろうかと思います。

ここに私のコードです。 (私は比較のためにボタンタグとinputタグの両方を保った。)

<ul> 
{% for card in all_cards %} 
    <li>{{ card.front }} 
    <form action="{% url 'delete-card' card.id %}" method="post"> 
     {% csrf_token %} 
     <input type="hidden" name="card_id" value="{{ card.id }}" > 
     <input type="submit" class="btn btn-default" value="DELETE"> 
     <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-trash"></span></button> 
    </form> 
    </li> 
{% endfor %} 
</ul> 

一番私をパズルは、ボタンのタグをクリックしたときに、それは私にこのエラーメッセージを与えることです。

Failed to load resource: the server responded with a /like_treasure/ status of 404 (Not Found) 

* like_treasureは、完全に異なるDjangoプロジェクトで使用されるディレクトリの名前です。

アドバイスをいただければ幸いです。

url.py

from django.conf.urls import url 
from django.conf import settings 
from django.views.static import serve 
from . import views 
# import PIL 


urlpatterns = [ 
    url(r'^$', views.IndexView.as_view(), name="index"), 
    url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'), 
    url(r'^card/add/$', views.CreateCard.as_view(), name='add-card'), 
    url(r'^card/(?P<pk>[0-9]+)/update/$', views.UpdateCard.as_view(), name='update-card'), 
    url(r'^card/(?P<pk>[0-9]+)/delete/$', views.DeleteCard.as_view(), name='delete-card'), 
] 

if settings.DEBUG: 
    urlpatterns += [ 
     url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT,}), 
    ] 

views.py

from django.shortcuts import render 
from django.http import HttpResponse 
from django.views import generic 
from django.views.generic.edit import CreateView, UpdateView, DeleteView 
from django.core.urlresolvers import reverse_lazy 
from .models import Card 
# from django.http import HttpResponseRedirect 

# Create your views here. 


class IndexView(generic.ListView): 
    template_name = "index.html" 
    context_object_name = "all_cards" 

    def get_queryset(self): 
     return Card.objects.all() 

class DetailView(generic.DetailView): 
    model = Card 
    template_name = "detail.html" 


class CreateCard(CreateView): 
    model = Card 
    fields = ['front', 'back'] 

class UpdateCard(UpdateView): 
    model = Card 
    fields = ['front', 'back'] 

class DeleteCard(DeleteView): 
    model = Card 
    success_url = reverse_lazy('index') 
+0

くれurl.pyファイル.. – Boky

+0

@Boky表示:* '' 要素が*値を持っていることを...ボタンは同じURLに投稿 –

+0

注意を提出の両方を、 '

答えて

0

ただ、 "urls.py" に "url.py" からファイル名を変更します。

+0

申し訳ありませんが、それはタイプでした。実際のファイルの名前は "urls.py"です。 – Yuta