Python中文
首页
教程
问答
标签
搜索
登录
注册
如何将.aspx页面重定向到Django站点上的新页面
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在重新设计一个网站,它正在从ASPX转换为django。我们希望像这样重定向旧的URL:</p> <p>在/详细信息.aspx?内径=123</p> <p>…到。。。在</p> <p>/文章/123</p> <p>问题在于url模式匹配。我想匹配旧url的模式,如下所示:</p> <p>(右)^详细信息.aspx?ID=(?P\d+$','mygreatview')</p> <p>…然后在视图中执行301重定向:</p> <pre><code>def mygreatview(request, url_id): article = get_object_or_404(Article, url_id=url_id) url = '/articles/' + article.url_id return HttpResponsePermanentRedirect(url) </code></pre> <p>问题是Django附加了一个斜杠,因此旧的url被转换为:</p> <p>在/detail.aspx/?内径=123</p> <p>…在它被解释之前网址.py. 在</p> <p>我尝试设置APPEND_SLASH=False,但这似乎会导致其他url出现其他问题(这里压缩了baloon)。在</p> <p>我错过了什么?我应该使用Apache和mod_rewrite来处理这个场景吗?在</p> <p>提前谢谢。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>那不是你的问题。您的问题是查询参数(<code>?ID=123</code>)不是URL的一部分。您应该只与<code>/detail.aspx/</code>匹配,并使用<code>request.GET['ID']</code>获取视图中的参数。在</p> <p>实际上,你根本不应该那样做。这种级别的重定向由web服务器配置处理得更好,例如在Apache中使用mod_rewrite。没有必要调用Django视图的开销来执行这种操作。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
1 回答
无法使用Django\u mssql\u后端迁移到外部hos
9 回答
无法使用Django&Python3.4连接到MySql
8 回答
无法使用Django+nginx上载媒体文件
4 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
6 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
9 回答
无法使用Djangockedi验证CBV中的字段
2 回答
无法使用Djangocketditor上载图像(错误400)
10 回答
无法使用Djangocron进行函数调用
6 回答
无法使用Djangofiler djang上载文件
9 回答
无法使用Djangokronos
5 回答
无法使用Djangomssql provid
4 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
5 回答
无法使用Djangomssq迁移Django数据库
4 回答
无法使用Djangonox创建用户
8 回答
无法使用Djangopyodb从Django查询SQL Server
8 回答
无法使用Djangopython3ldap连接到ldap
4 回答
无法使用Djangoredis连接到redis
5 回答
无法使用Django中的FK创建新表
4 回答