我正在开发一个Django项目。在这个项目中,我有一个动态 URL,如下所示:
app_name = 'test'
urlpatterns = [
path('root', views.root, name='root'),
path('output/<str:instance>', views.output_page, name='output_page'),
]
在该应用程序中存在两个页面。在
root
页面中存在一个表单,当提交时应重定向到 output_page
。但是因为 output_page
是一个动态 URL,所以我无法进行重定向。以下是我的视图文件。
def root(request):
if request.method == 'POST':
name = request.POST.get('name')
job = request.POST.get('job')
return redirect("test:output_page")
return render(request, 'test/root.html')
def output_page(request, instance):
record = Object.objects.all(Instance_id=instance)
return render(request, 'test/output_page.html', {'record': record})
这里是模型
class Object(models.Model):
Name = models.CharField(max_length=200, null=True, blank=True)
Job = models.CharField(max_length=200, default="")
Instance_id = models.CharField(max_length=200)
当重定向发生时,我希望URL如下所示。
http://127.0.0.1:8000/output/test-001
其中test-001
是模型中的instance_id。
output_page应该通过过滤instance_id为test-001
的模型中所有数据来实现。