【求助】python编程:从入门到实践 项目3Web应用程序 出现TypeError at /topics/1/ 问题,江湖救急啊

csdn20180208 2018-02-18 05:47:44
如图:


urls.py

"""定义learning_logs的URL模式"""

from django.urls import path,re_path

from . import views

urlpatterns = [
#主页
path('', views.index, name='index'),

#显示所有主题
path('topics/', views.topics, name='topics'),

#显示所有主题
re_path('topics/(?P<topic_id>\d+)/', views.topics, name='topic'),

#特定主题的详细页面
re_path('topics/(?P<topic_id>\d+)/', views.topic, name='topic'),

#用于添加新主题的网页
re_path('new_topic/', views.new_topic, name='new_topic'),

#用于添加新条目的页面
re_path('new_entry/(?P<topic_id>\d+)/', views.new_entry, name='new_entry'),
]
app_name = 'learning_logs'




views.py

from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.urls import reverse

from .models import Topic
from .forms import TopicForm, EntryForm

# Create your views here.
def index(request):
"""学习笔记的主页"""
return render(request, 'learning_logs/index.html')

def topics(request):
"""显示所有的主题"""
topics = Topic.objects.order_by('date_added')
context = {'topics':topics}
return render(request, 'learning_logs/topics.html', context)

def topic(request,topic_id):
"""显示单个主题及其所有的条目"""
topic = Topic.objects.get(id = topic_id)
entries = topic.entry_set.order_by('-date_added')
context = {'topic': topic, 'entries': entries}
return render(request, 'learning_logs/topic.html', context)

def new_topic(request):
"""添加新主题"""
if request.method != 'POST':
#未提交数据:创建新表单
form = TopicForm()
else:
#POST提交的数据,对数据进行处理
form = TopicForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse('learning_logs:topics'))

context = {'form':form}
return render(request, 'learning_logs/new_topic.html', context)

def new_entry(request, topic_id):
"""在特定的主题中添加新条目"""
topic = Topic.objects.get(id=topic_id)

if request.method != 'POST':
#未提交数据,创建一个空表单
form = EntryForm()
else:
#POST提交的数据,对数据进行处理
form = EntryForm(data=request.POST)
if form.is_valid():
new_entry = form.save(commit=False)
new_entry.topic = topic
new_entry.save()
return HttpResponseRedirect(reverse('learning_logs:topic', args=[topic_id]))

context = {'topic': topic, 'form': form}
return render(request, 'learning_logs/new_entry.html', context)

topics.html


{% extends "learning_logs/base.html" %}

{% block content %}

<p>Topics</p>

<ul>
{% for topic in topics %}
<li>
<a href="{% url 'learning_logs:topic' topic.id %}">{{ topic }}</a>
</li>
{% empty %}
<li>No topics have been added yet.</li>
{% endfor %}
</ul>

<a href="{% url 'learning_logs:new_topic' %}">Add a new topic:</a>

{% endblock content %}


topic.html
{% extends "learning_logs/base.html" %}

{% block content %}

<p>Topic:{{ topic }}</p>

<p>Entries:</p>
<p>
<a href="{% url 'learning_logs:new_entry' topic.id %}">add new entry</a>
</p>
<ul>
{% for entry in entries %}
<li>
<p>{{ entry.date_added|date:'M d, Y H:i' }}</p>
<p>{{ entry.text|linebreaks }}</p>
</li>
{% empty %}
<li>
There are no entries for this topic yet.
</li>
{% endfor %}
</ul>


{% endblock content %}


其他页面还可以进,就是特定主题的界面进不去
求助各位大佬啊,不想自己的python生涯被一个小BUG断掉,哭嘤嘤
python版本是3.6,Django是2.0
...全文
1654 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Awom. 2020-06-26
  • 打赏
  • 举报
回复
你找到原因了吗?我和你相同的问题
OneByOne-yy 2020-03-22
  • 打赏
  • 举报
回复
#显示所有主题
re_path('topics/(?P<topic_id>\d+)/', views.topics, name='topic'),这句注释掉试试。
notback 2018-02-22
  • 打赏
  • 举报
回复
如果我没看错 #显示所有主题 re_path('topics/(?P<topic_id>\d+)/', views.topics, name='topic'), #特定主题的详细页面 re_path('topics/(?P<topic_id>\d+)/', views.topic, name='topic'), 你两个url的正则一模一样,可能是这里出问题了吧。 我猜测,特定主题的详细页面正则该是topic/(?P......吧?
PyTorch版的YOLOv5是轻量而高性能的实时目标检测方法。利用YOLOv5训练完自己的数据集后,如何向大众展示并提供落地的服务呢?   本课程将提供相应的解决方案,具体讲述如何使用Web应用程序框架Flask进行YOLOv5的Web应用部署。用户可通过客户端浏览器上传图片,经服务器处理后返回图片检测数据并在浏览器中绘制检测结果。   本课程的YOLOv5使用ultralytics/yolov5,在Ubuntu系统上做项目演示,并提供在Windows系统上的部署方式文档。 本项目采取前后端分离的系统架构和开发方式,减少前后端的耦合。课程包括:YOLOv5的安装、 Flask的安装、YOLOv5的检测API接口python代码、 Flask的服务程序的python代码、前端html代码、CSS代码、Javascript代码、系统部署演示、生产系统部署建议等。   本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.csdn.net/course/detail/30793 Windows系统 https://edu.csdn.net/course/detail/30923 《YOLOv5(PyTorch)目标检测:原理与源码解析》https://edu.csdn.net/course/detail/31428 《YOLOv5(PyTorch)目标检测实战:Flask Web部署》https://edu.csdn.net/course/detail/31087 《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》https://edu.csdn.net/course/detail/32303

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧