在创建帖子并使用Django提交其表单后,将作者重定向到他的帖子,可以通过以下步骤实现:
views.py
的文件,用于处理请求和生成响应。views.py
文件中,导入必要的模块和类:from django.shortcuts import render, redirect
from django.contrib import messages
from .forms import PostForm
from .models import Post
def create_post(request):
if request.method == 'POST':
form = PostForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.author = request.user # 假设使用了Django的用户认证系统
post.save()
messages.success(request, '帖子创建成功!')
return redirect('post_detail', pk=post.pk) # 重定向到帖子详情页
else:
form = PostForm()
return render(request, 'create_post.html', {'form': form})
urls.py
文件中,配置URL路由,将请求映射到上述视图函数:from django.urls import path
from . import views
urlpatterns = [
path('create/', views.create_post, name='create_post'),
# 其他URL配置...
]
create_post.html
,用于显示帖子创建表单:{% extends 'base.html' %}
{% block content %}
<h2>创建帖子</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">提交</button>
</form>
{% endblock %}
def post_detail(request, pk):
post = Post.objects.get(pk=pk)
return render(request, 'post_detail.html', {'post': post})
post_detail.html
,用于显示帖子的详细信息:{% extends 'base.html' %}
{% block content %}
<h2>{{ post.title }}</h2>
<p>{{ post.content }}</p>
<p>作者:{{ post.author }}</p>
{% endblock %}
通过以上步骤,当用户提交帖子创建表单后,如果表单数据有效,帖子将被保存到数据库中,并将作者重定向到该帖子的详情页。同时,用户还会收到一条成功消息。这样可以实现在创建帖子并使用Django提交其表单后,将作者重定向到他的帖子的需求。
推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云数据库MySQL版、腾讯云对象存储(COS)。
腾讯云产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云