Python 没有与给定查询匹配的部分

Python 没有与给定查询匹配的部分,python,django,Python,Django,我是django的begginer。我有一个错误问题: 没有与给定查询匹配的部分 视图。py: from description.models import Part from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from django.shortcuts import render_to_response, get_object_or_404 def PartyNumView(request,

我是django的begginer。我有一个错误问题:

没有与给定查询匹配的部分

视图。py:

from description.models import Part
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
from django.shortcuts import render_to_response, get_object_or_404

def PartyNumView(request, pk=None, page_number = 1):
    all_parties = Part.objects.all()
    current_page = Paginator(all_parties, 10)
    try:
        context = current_page.page(page_number)
    except PageNotAnInteger:
        context = current_page.page(1)
    except EmptyPage:
        context = current_page.page(current_page.num_pages)
    onePart = get_object_or_404(Part, pk = pk)
    return render_to_response('part_list.html', {'PartyNum': context, 'onePart': onePart})
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^parties/(\d+)/$', PartyNumView),
    url(r'^parties', PartyNumView),
    url(r'parties/(?P<pk>[\d]+)$', PartyNumView, name='onePart'),
    url(r'^main/', TemplateView.as_view(template_name='main.html')),       #static html
    url(r'^measures/', TemplateView.as_view(template_name='IcDesc.html')),       #static html

]
 {% for object in PartyNum %}

<tr>
  <td>{{ forloop.counter }}</td>
  <td><a href="{% url 'onePart' pk = object.pk %}"> {{ object.Party_number }}</a></td>
  <td>{{ object.Film }}</td>
  <td>{{ object.Thick }}</td>
  <td>{{ object.Critical_temperature }}</td>
  <td>{{ object.R_s }}</td>

 {% endfor %}
url.py:

from description.models import Part
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
from django.shortcuts import render_to_response, get_object_or_404

def PartyNumView(request, pk=None, page_number = 1):
    all_parties = Part.objects.all()
    current_page = Paginator(all_parties, 10)
    try:
        context = current_page.page(page_number)
    except PageNotAnInteger:
        context = current_page.page(1)
    except EmptyPage:
        context = current_page.page(current_page.num_pages)
    onePart = get_object_or_404(Part, pk = pk)
    return render_to_response('part_list.html', {'PartyNum': context, 'onePart': onePart})
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^parties/(\d+)/$', PartyNumView),
    url(r'^parties', PartyNumView),
    url(r'parties/(?P<pk>[\d]+)$', PartyNumView, name='onePart'),
    url(r'^main/', TemplateView.as_view(template_name='main.html')),       #static html
    url(r'^measures/', TemplateView.as_view(template_name='IcDesc.html')),       #static html

]
 {% for object in PartyNum %}

<tr>
  <td>{{ forloop.counter }}</td>
  <td><a href="{% url 'onePart' pk = object.pk %}"> {{ object.Party_number }}</a></td>
  <td>{{ object.Film }}</td>
  <td>{{ object.Thick }}</td>
  <td>{{ object.Critical_temperature }}</td>
  <td>{{ object.R_s }}</td>

 {% endfor %}
urlpatterns=[
url(r“^admin/”,admin.site.url),
url(r“^parties/(\d+/$”,PartyNumView),
url(r'^parties',PartyNumView),
url(r'parties/(?P[\d]+)$”,PartyNumView,name='onePart'),
url(r“^main/”,TemplateView.as_view(template_name='main.html'),#静态html
url(r“^measures/”,TemplateView.as_view(template_name='IcDesc.html')),#静态html
]
还有一点part\u list.html:

from description.models import Part
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
from django.shortcuts import render_to_response, get_object_or_404

def PartyNumView(request, pk=None, page_number = 1):
    all_parties = Part.objects.all()
    current_page = Paginator(all_parties, 10)
    try:
        context = current_page.page(page_number)
    except PageNotAnInteger:
        context = current_page.page(1)
    except EmptyPage:
        context = current_page.page(current_page.num_pages)
    onePart = get_object_or_404(Part, pk = pk)
    return render_to_response('part_list.html', {'PartyNum': context, 'onePart': onePart})
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^parties/(\d+)/$', PartyNumView),
    url(r'^parties', PartyNumView),
    url(r'parties/(?P<pk>[\d]+)$', PartyNumView, name='onePart'),
    url(r'^main/', TemplateView.as_view(template_name='main.html')),       #static html
    url(r'^measures/', TemplateView.as_view(template_name='IcDesc.html')),       #static html

]
 {% for object in PartyNum %}

<tr>
  <td>{{ forloop.counter }}</td>
  <td><a href="{% url 'onePart' pk = object.pk %}"> {{ object.Party_number }}</a></td>
  <td>{{ object.Film }}</td>
  <td>{{ object.Thick }}</td>
  <td>{{ object.Critical_temperature }}</td>
  <td>{{ object.R_s }}</td>

 {% endfor %}
{%for PartyNum%中的对象]
{{forloop.counter}}
{{object.Film}}
{{object.Thick}
{{object.Critical_temperature}}
{{object.R_s}
{%endfor%}
在Models.py中,我有一个类部件(Models.Model)


请帮我找出一个错误。

因此您有3个URL指向同一视图

url(r'^parties/(\d+)/$', PartyNumView),
url(r'^parties', PartyNumView),
url(r'^parties/(?P<pk>[\d]+)$', PartyNumView, name='onePart'),
尝试删除前两个URL,将最后一个URL保留为接受PK的URL。另外,在函数参数中,将
pk=None
更改为
pk


另外,请看一下您列出的最后两个URL。两者都指向同一个视图,因此您应该决定保留哪个视图。

出现错误是因为您试图
获取一个
部分
实例,该实例在数据库中不可用。也就是说,您通过url提供了一个
pk
值,但它与数据库不匹配。
只需查询现有的
零件
对象,即可避免此错误。或者,您可以修改以下响应,

from django.http.response import HttpResponse 
def PartyNumView(request, pk=None, page_number = 1):
    all_parties = Part.objects.all()
    current_page = Paginator(all_parties, 10)
    try:
        context = current_page.page(page_number)
    except PageNotAnInteger:
        context = current_page.page(1)
    except EmptyPage:
        context = current_page.page(current_page.num_pages)
    try:
        onePart = Part.objects.get(pk=pk)
    except Part.DoesNotExist:
        return HttpResponse("Part instance not found with pk-{}".format(pk))
    return render_to_response('part_list.html', {'PartyNum': context, 'onePart': onePart})

更新-1
更新您的
url.py
,如下所示

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'parties/(?P<pk>[\d]+)/(?P<page_number>[\d]+)$', PartyNumView, name='onePart'),
    url(r'^main/', TemplateView.as_view(template_name='main.html')),       #static html
    url(r'^measures/', TemplateView.as_view(template_name='IcDesc.html')),       #static html

]
urlpatterns=[
url(r“^admin/”,admin.site.url),
url(r'parties/(?P[\d]+)/(?P[\d]+)$”,PartyNumView,name='onePart'),
url(r“^main/”,TemplateView.as_view(template_name='main.html'),#静态html
url(r“^measures/”,TemplateView.as_view(template_name='IcDesc.html')),#静态html
]

最有可能的情况是,位于
onePart=get\u object\u或_404(Part,pk=pk)
的Part对象不存在,您将从中获得404。如果PK为“无”,请考虑删除该行。我有一个错误:用关键字参数{“pk”:9 }找不到“OnPoT”。尝试了1个模式:[“parti/(?P\[\\d]+)/$”]您尝试过吗?是的,我尝试过。但是当我删除这个URL时,我有错误404。我认为发生此错误是因为我必须转移到paginator page_number,但当我删除URL时,我无法这样做