我想從表單中獲取發佈數據並顯示它們。 我用「{%url uasite1.views.sell_detail sell_detail.pk%}」來根據他們的PK提取數據。NoReverseMatch(與PK有關):django
但是,只是[NoReverseMatch···,'uasite1.views.sell_detail'的參數'('',)'和關鍵字參數'{}'沒有找到。「]顯示出來。 我的代碼有什麼問題?
models.py
from django.db import models
from django.forms import ModelForm
class Sell(models.Model):
subject = models.CharField(max_length=100)
price = models.CharField(max_length=100)
condition = models.CharField(max_length=100)
email = models.EmailField()
body = models.CharField(max_length=200)
forms.py
from django.forms import ModelForm
from uasite1.models import Sell
class SellForm(ModelForm):
class Meta:
model = Sell
views.py
from django.shortcuts import render_to_response,get_object_or_404
from django.http import HttpResponseRedirect
from uasite1.forms import SellForm
from uasite1.models import Sell
from django.template import RequestContext
def sell_detail(request, pk):
sell = get_object_or_404(Sell, pk=int(pk))
return render_to_response('sell_display.html',{'sell':sell})
def sell_create(request):
context = {}
if request.method == 'POST':
form = SellForm(request.POST)
if form.is_valid():
new_sell = form.save()
return HttpResponseRedirect('/sechand/%d/' % new_sell.pk)
else:
form = SellForm()
context['form'] = form
return render_to_response('sell.html',context,context_instance = RequestContext(request))
def Electronics(request):
latest_sell_list = Sell.objects.all()[:5]
return render_to_response('electronics.html',{'latest_sell_list':latest_sell_list})
urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^sechand/$','uasite1.views.sell_create'),
url(r'^sechand/(\d+)/$', 'uasite1.views.sell_detail'),
url(r'^electronics/$', 'uasite1.views.Electronics'),
url(r'^admin/', include(admin.site.urls)),
)
electronics.html
{% extends 'base.html' %}
{% block extrahead %}
<p><strong>Electronics</strong></p>
{% endblock %}
{% block content %}
<p><a href="{% url uasite1.views.sell_detail sell_detail.pk %}">{{ sell.subject }}</a></p>
{% endblock %}
謝謝,但結果仍顯示「NoReverseMatch錯誤」 [反向'uasite1.views.sell_detail'與參數'( 1,)'和關鍵字參數'{}'未找到。 ]雖然【arguments'('',)'】被改爲【arguments'(1,)'】。另外,在向我的urls.py添加「P」之後,「sell_display」頁面開始不起作用(http:// localhost:8000/sechand/1 /中的頁面未找到(404))可能是其他問題用我的代碼? –
stack5914
在我的代碼中添加「?P」之後,它成功運行!非常感謝。 –
stack5914