Django 求助习题

2017-06-12 21:11:35 +08:00
craiiz  craiiz

跟着 Django Book 开始学习 Django,做到 page 28,动态 url 时,~/time/plus/X X 为数字这个页面怎么都打不开。查找了很多地方之后还是没法解决。 404 界面中前几个路径都能正常访问,就最后一个不行

现在找不到原因了.......求助!!

我的 python 版本是:2.7.12 (因为 db 是里用的是 2.X) 我的 django 版本是:(1, 11, 2, u'final', 0) django

3530 次点击
所在节点   Django  Django
14 条回复
Tianny
Tianny
2017-06-12 21:29:52 +08:00
哪个 Django book 呀?最近也打算开始学,能给个链接么?
westy
westy
2017-06-12 21:34:51 +08:00
django 不熟啊,但是你 hours_ahead 需要一个参数 offset, 然而在你的 url pattern 里似乎并没有说 (\d{1,2}) 的值是 offset ?
craiiz
craiiz
2017-06-12 21:35:30 +08:00
westy
westy
2017-06-12 21:37:51 +08:00
url(r"^time/plus/(?P<offset>\d{1,2})/$", hours_ahead),

瞅了一眼文档...好像是这样。
KgM4gLtF0shViDH3
KgM4gLtF0shViDH3
2017-06-12 21:51:51 +08:00
int 为啥用%s,还有,那个 URL 的写法也不规范啊,参数都没有,应该像楼上那样的吧。。。
craiiz
craiiz
2017-06-12 22:18:19 +08:00
@bestkayle 楼上方法试过了,似乎不对啊。现在只是照着打代码,django book 上目前是这样写的。 似乎那个%s 还是用%d 会更好一点。。。
craiiz
craiiz
2017-06-12 22:19:19 +08:00
@westy 这个试了。。。。好像没用。。。。django book。。这似乎是个坑啊
misaka19000
misaka19000
2017-06-12 22:21:56 +08:00
正则表达式 1 和 2 之间不要加空格
blahgeek
blahgeek
2017-06-12 22:23:26 +08:00
```python
In [1]: import re

In [2]: print(re.match(r'^time/plus/(\d{1, 2})/$', 'time/plus/1/'))
None

In [3]: print(re.match(r'^time/plus/(\d{1,2})/$', 'time/plus/1/'))
<_sre.SRE_Match object; span=(0, 12), match='time/plus/1/'>

```

pattern 里面多了个空格
craiiz
craiiz
2017-06-12 22:32:49 +08:00
@misaka19000 !!!!!!谢谢!!!!!!
craiiz
2017-06-12 22:33:10 +08:00
@blahgeek 谢谢!!!!
zhengxiaowai
2017-06-13 10:22:13 +08:00
请放弃网络上的中文版 Django book 那个版本真的太老了
746970179
2017-06-13 11:51:22 +08:00
去简书, 搜索 djagno by example
linkbg
2017-06-13 12:41:10 +08:00
当学习资料中的代码执行不了,可以看看新版本的文档,一般就解决了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/367927

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX