初学者,有一个疑问,希望能细心解答
Opened this issue · 8 comments
1、编写数据模型时,@models.permalink def get_absolute_url(self): return ('post', (), {'pk': self.pk})定义这个函数是什么意思呢?
2、views中post = get_object_or_404(Post, pk=pk)这个怎么能获取数据库中指定的内容对象?pk是什么呢?
3、编写urls时,?P\d+)正则表达式又是什么意思呢?
问题比较多,请原谅我这个菜鸟。
1.如果不定义这个函数,我们在模版中访问一个单元条记录的时候,哪链接是这样的一条记录:/post/1
,在模版中,我们只能拿到记录的ID,于是我们会这样写:/post/{{ post.id}}
,但当我们需要修改下url的时候,比如要改成/p/1
,这时我们就需要中到各个模版中去修改,但如果使用了1中的函数之后,我们只要在编写的时候使用了这样的代码:post.get_absolute_url
,那么需要修改链接之时,只需在urls中修改即可,而不需要跑到各个模版中修改代码。
2.这个问题,你可以看下这里:
http://zhangfortune.iteye.com/blog/2124979
3.这个其实就是一个正则分组,指定名称之后,你在编写相应的views的时候,就可以关联上指定的这个组名了。
希望能你有所帮助。
如果初学Django,建议可以先看看Django Book,中英文都有,有个大致认识之后再试着做些小项目。
哦,非常感谢你的细致回答,明白了a
get_absolute_url 这个函数名字应该是约定的吧 可以写短的名字
pk是取已经有的字段的主键 可以用id代替(如果id是默认主键的话),不过有多个主键就不知道怎么样弄了
请用 nginx + gunicorn