使用querystring将Django模板呈现为URL

使用querystring将Django模板呈现为URL,django,Django,我有几个标签的个人资料编辑页面。每个选项卡都是一个单独的页面,因此当我访问它时,我会添加“tab”参数: /edit/?tab=general /edit/?tab=contacts 当用户完成在其中一个选项卡上填写表单时(例如,/edit/?tab=general),他将提交表单。如果表单无效,我需要用错误呈现它。浏览器URL输入需要填写/edit/?tab=general,但当我呈现页面时,URL是/edit/ 我能改变它吗?谢谢 代码: 听起来问题在于表单操作不包含查询字符串 通常,使

我有几个标签的个人资料编辑页面。每个选项卡都是一个单独的页面,因此当我访问它时,我会添加“tab”参数:

/edit/?tab=general 
/edit/?tab=contacts
当用户完成在其中一个选项卡上填写表单时(例如,
/edit/?tab=general
),他将提交表单。如果表单无效,我需要用错误呈现它。浏览器URL输入需要填写
/edit/?tab=general
,但当我呈现页面时,URL是
/edit/

我能改变它吗?谢谢

代码:


听起来问题在于表单操作不包含查询字符串

通常,使用Django表单和视图时,您将发布到与已发布的URL相同的URL,这意味着您可以执行以下操作:

<form method="post" action="?tab={{ current_tab }}">

...

</form>

...
其中,
current_tab
是一个上下文变量,指示选择了哪个选项卡。根据目前的代码,您需要将其添加到render_模板调用中的dict中。如果使用JavaScript切换选项卡,则需要在选项卡切换时更新action属性

<form method="post" action="?tab={{ current_tab }}">

...

</form>