1
li1218040201 2 天前
刚刚看了下知乎,点击的链接就是 https://link.zhihu.com/?target=https%3A//www.sxhm.com/online.html 这种格式了。
用 django 就是解析用户提交的内容,如果存在超链接,就替换成你自己的网站地址+原始超链接。 |
2
elevioux 2 天前 via Android
第一时间想到的是输出文章内容的时候正则匹配一下,替换成站内地址。优化一下就是用户提交的时候提取,保存一份副本。
|
3
DeWjjj 2 天前
django 里面不是有自定义路由匹配么?就给一个关键字例如?transfer 就做一个页面就行了。渲染后面的字符串进网页就行了,服务端渲染页面就行了。
|
4
python30 OP def tiaozhuan(request, weburl):
return render(request, 'info/tiaozhuan.html', context ={'weburl':weburl}) path(r'tiaozhuan/<path:weburl>/', tiaozhuan, name='tiaozhuan'), 解决了,就用上面。虽然不是很完美,好像没法用 /?target=http://www.bbb.com 这样的,只能用:/target/http://www.bbb.com, django 的路由里不用写?=等? 我在路由里用:path(r'tiaozhuan/?target=<path:weburl>', tiaozhuan, name='tiaozhuan'), 就不行,只有去掉:?target= 才可以, |
5
sduoduo233 2 天前 via Android
|
6
li1218040201 2 天前
@python30 你的问题其实是,如何在请求路径匹配 /?target 时,渲染指定 tiaozhuan.html ?
|