学向勤中得,萤窗万卷书。这篇文章主要讲述webapp2 - 如何反转模板中的URL?相关的知识,希望能为你提供帮助。
我从webapp2开始。我的英语不是很好,所以我将用一个例子来解释我的问题:假设我正在构建一个处理汽车信息的应用程序。
我有这些处理程序:
- ViewHandler:将显示单个车辆的视图,包含所有信息(引擎,年份,品牌,型号等)。
- ListHandler:将显示应用程序中的所有汽车,并带有指向视图页面的链接。
我可以在模板中执行此操作:
<
ul>
<
li>
<
a href='https://www.songbingjia.com/cars/view/{{car.id}}'>
{{car.model}}<
/a>
<
/li>
<
/ul>
但是不喜欢那个(毕竟干嘛原则在哪里?)我想知道是否有某种方法可以做到类似于django,解析模板中的URL,如下所示:
<
ul>
<
li>
<
a href='https://www.songbingjia.com/android/{% url cars.view car.id}'>
{{car.model}}<
/a>
<
/li>
<
/ul>
也许它不在模板中。我尝试过webapp2.url_for()但没有帮助。
非常感谢!
答案webapp2.uri_for()是您最好的选择,但您必须将其与命名路由结合使用。您可以在这里结合uri_for阅读有关webapp2路由的更多信息:http://webapp-improved.appspot.com/guide/routing.html
【webapp2 - 如何反转模板中的URL()】以上是上面文章中的示例:
app = webapp2.WSGIApplication([
webapp2.Route('/', handler='handlers.HomeHandler', name='home'),
webapp2.Route('/wiki', handler=WikiHandler, name='wiki'),
webapp2.Route('/wiki/<
page>
', handler=WikiHandler, name='wiki-page'),
])# /
uri = uri_for('home')# http://localhost:8080/
uri = uri_for('home', _full=True)# /wiki
uri = uri_for('wiki')# http://localhost:8080/wiki
uri = uri_for('wiki', _full=True)# http://localhost:8080/wiki#my-heading
uri = uri_for('wiki', _full=True, _fragment='my-heading')# /wiki/my-first-page
uri = uri_for('wiki-page', page='my-first-page')# /wiki/my-first-page?format=atom
uri = uri_for('wiki-page', page='my-first-page', format='atom')
推荐阅读
- 如何在webapp中创建子域用户帐户
- java web-application初始化和关闭
- 如何在Appsource.Microsoft.com上发布“Web App”()
- 如何在watch app上访问PFUser.Current()
- Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息
- android,在离线模式下保存文件(parse.com)
- 图像捕获,保存文件... Android / Parse
- Android推送通知 - Parse.com API - 不工作()
- 在App扩展中集成Parse