Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 与#x27相反;主题';带参数';(';';,)';没有找到。尝试了1种模式:[';主题/(?P<;name>;[^/]+;)$&]_Python_Django - Fatal编程技术网

Python 与#x27相反;主题';带参数';(';';,)';没有找到。尝试了1种模式:[';主题/(?P<;name>;[^/]+;)$&]

Python 与#x27相反;主题';带参数';(';';,)';没有找到。尝试了1种模式:[';主题/(?P<;name>;[^/]+;)$&],python,django,Python,Django,我的问题是关于再次重定向到一个/topics/页面,其中包含所有topic条目。当我结束一个条目时,此代码和重新加载选项卡显示此错误,如下所示: 未找到参数为“(“”,)”的“主题”的反转。尝试了1个模式:[“主题/(?P[^/]+)$”] 我如何解决这个问题? at views.py from django.shortcuts import render, HttpResponse from django.views.generic.base import View from .models

我的问题是关于再次重定向到一个/topics/页面,其中包含所有topic条目。当我结束一个条目时,此代码和重新加载选项卡显示此错误,如下所示:

未找到参数为“(“”,)”的“主题”的反转。尝试了1个模式:[“主题/(?P[^/]+)$”]

我如何解决这个问题?

at views.py

from django.shortcuts import render, HttpResponse
from django.views.generic.base import View
from .models import author, catagory, article

# Create your views here.
class HomeView(View):
    def get(self, request, *args, **kwargs):
        post = article.objects.all()
        context = {
            "post":post
        }
        return render (request, 'index.html', context)

def getauthor(request, name):
    return render (request, 'profile.html')


def getsingle(request, id):
    return render (request, 'single.html')

def getTopic(request, name):
    return render (request, 'category.html')
在URL.py

    from django.urls import path
from .import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('', views.HomeView.as_view(), name = 'home'),
    #path('about/', views.AboutView.as_view(), name = 'about'),
    path('author/<name>', views.getauthor, name = 'author'),
    path('article/<int:id>', views.getsingle, name = 'single_post'),
    path('topic/<name>/', views.getTopic, name = 'topic'),
]
urlpatterns+= static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

类别名称为空。如何解决此问题?请尝试将您的
{%url'topic'p.category.name%}
更改为
{%url'topic'name=p.category.name%}
,首先我使用了此选项。{%url'topic'name=p.category.name%}您的
p
category
本身的结构是什么?因为
(“”),
看起来不像是一个空名称,而是一个包含空字符串的单元素元组,这更令人担忧。
    {% extends "base.html" %}
{% load static %}
{% block title %} Welcome to my django templates {% endblock %}
 {% block content %}
    {% for p in post %}
        <article class="col-lg-3 col-md-3 col-sm-3 col-xs-6 col-xxs-12 animate-box">
            <figure>
                <a href="{% url 'single_post' id=p.id %}"><img src="{{ p.image.url }}" alt="Image" class="img-responsive"></a>
            </figure>
            <span class="fh5co-meta"><a href="{% url 'topic' p.category.name %}">{{ p.category.name }}</a></span>
            <h2 class="fh5co-article-title"><a href="{% url 'single_post' id=p.id %}">{{ p.title }}</a></h2>
            <span class="fh5co-meta fh5co-date">{{ p.posted_on }}</span>
        </article>
    {% endfor %}
{% endblock %}
from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class author(models.Model):
    name = models.ForeignKey(User, on_delete = models.CASCADE, related_name='blog_posts')
    details = models.TextField()

    def __str__(self):
        return self.name.username

class catagory(models.Model):
    name = models.CharField(max_length=100)

    def __str__(self):
        return self.name

class article(models.Model):
    article_author = models.ForeignKey(author, on_delete = models.CASCADE, related_name='blog_posts')
    title = models.CharField(max_length=200)
    body = models.TextField()
    image = models.FileField()
    posted_on = models.DateTimeField (auto_now= False, auto_now_add= True)
    updated_on = models.DateTimeField (auto_now= True, auto_now_add= False)
    catagory = models.ForeignKey(catagory, on_delete = models.CASCADE)

    def __str__(self):
        return self.title