NoReverseMatch(与pk相关):django
我想从表单中获取发布的数据并显示它们。 我使用“{%url uasite1.views.sell_detail sell_detail.pk%}”根据pk提取数据 然而,只有[诺维瑟维奇]・・・, 与“uasite1.views.sell_detail”相反,未找到参数“(“”,)”和关键字参数“{}”。]出现。 我的密码怎么了 models.pyNoReverseMatch(与pk相关):django,django,django-forms,django-templates,primary-key,Django,Django Forms,Django Templates,Primary Key,我想从表单中获取发布的数据并显示它们。 我使用“{%url uasite1.views.sell_detail sell_detail.pk%}”根据pk提取数据 然而,只有[诺维瑟维奇]・・・, 与“uasite1.views.sell_detail”相反,未找到参数“(“”,)”和关键字参数“{}”。]出现。 我的密码怎么了 models.py from django.db import models from django.forms import ModelForm class Sel
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})
url.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 %}
{%extends'base.html%}
{%block extrahead%}
电子产品
{%endblock%}
{%block content%}
{%endblock%}
更改
致:
有几个错误
1:更改您的url
url(r'^sechand/(\d+)/$', 'uasite1.views.sell_detail'),
到
谢谢,但还是不行。显示屏显示[与'uasite1.views.sell_detail'相反,未找到参数'('',')和关键字参数'{}.]和[]在“模板渲染期间出错”中突出显示,[将渲染返回到_响应('electronics.html',{'latest_sell_list:latest_sell_list})]在“回溯”中突出显示。谢谢,但结果仍然显示“NoReverseMatch error”[与'uasite1.views.sell_detail'相反,未找到参数'(1,)'和关键字参数“{}”。]尽管将[arguments'('',)'更改为[arguments'(1,)]。此外,在我将“P”添加到我的url.py后,“sell_display”页面开始不工作(页面未找到(404)at)可能是我的代码有其他问题?在我将“P”添加到我的代码后,它成功地工作了!非常感谢你。
url(r'^sechand/(P<pk>\d+)/$', 'uasite1.views.sell_detail'),
{% block content %}
{%for sell in latest_sell_list %}
<p><a href="{% url uasite1.views.sell_detail sell.pk %}">{{ sell.subject }}</a></p>
{%endfor%}
{% endblock %}