在留言板课程中,我自己新添加了一个视图。
路径messsageform/messageapp/views.py
def addmessage(request):
if request.method == 'POST':
name = request.POST.get('name', '')
...#中间省略
message.save()
return render(request, 'messageapp/index.html')
elif request.method == 'GET':
allmessage = Message.objects.all()
if allmessage:
message = allmessage[0]
context = {'message': message}
return render(request, 'messageapp/index.html', context)
else:
return render(request, 'messageapp/index.html')
在路径messsageform/messageapp/urls.py
from . import views
from django.urls import path
urlpatterns = [
path('', views.index, name='index'),
path('addmessage/', views.addmessage, name='addmessage'),
]
然后在html中添加
<body>
<form action="addmessage/" method="post" class="smart-green">
<h1>留言信息
<span>请留下你的信息.</span>
现在通过
http://127.0.0.1:8000/messageapp/addmessage/
使用get方法,是可以获得第一条数据的
接下来,我填写数据。
就发现这个网址出现了两个addmessage。导致路由有问题。
想了很久没有发现问题在哪里,请老师帮助,谢谢
按照老师的提示在html中
<form action="/addmessage/" method="post" class="smart-green">
增加/,点击提交之后
直接跳转到http://127.0.0.1:8000/addmessage
显示
这里又提示我没有配置路由。
可是我在messsageform/messageapp/urls.py
from . import views
from django.urls import path
urlpatterns = [
path('', views.index, name='index'),
path('addmessage/', views.addmessage, name='addmessage'),
]
确实是配置过路由的。