python - 未找到带有参数“(”,)”的“主题”的反向。尝试了 1 种模式:['topic/(?P[^/]+)$']
问题描述
我的问题是关于再次重定向到所有主题条目所在的 /topics/ 页面。当我结束一个条目时,此代码并重新加载选项卡而不是显示此错误,如下所示:
未找到带有参数“(”,)”的“主题”的反向。尝试了 1 种模式:['topic/(?P[^/]+)$']
我该如何解决这个问题?
在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')
在 urls.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)
在 index.html
{% 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 %}
Modules.py 是
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
解决方案
推荐阅读
- html - 屏幕尺寸为平板电脑或手机尺寸时的引导中心列表
- html - 无法将border-top 和border-bottom 应用于标签
- django - 超级用户未创建类型错误:create_superuser() 缺少 1 个必需的位置参数:“名称”
- linux - 使用 MSADM 设置 RAID1 - lsblk 中第二个 hd 的意外类型
- azure-data-lake - 使用 adf 中的复制活动将带有时间戳的文件存档在 adf 中
- r - 方差分析后的多重比较 - 重新排序因子水平事后测试
- wso2 - WSO2 EI 处理器
- javascript - 如何检查 iframe 中的内容是否以 Angular 7 加载?
- android - 如何在改造中上传带有进度百分比的base64 json正文
- build - Bitbucket 管道不会在功能分支上触发