django的templates和url,views之间的关系怎么弄?

2012-07-09 13:59:38 +08:00
 1272729223
想自学python和django。

现在到这一步: 创建一个模板文件夹templates,但是我不知道放在哪个目录.
然后模板文件怎么写在views里面? url里面怎么配置?

望指点,谢谢!

比如我先写一个base.html,然后再写一个about.html 这些文件怎么弄?(具体的不需要讲,只需要怎么配置) 我可以runserver预览! 谢谢
7464 次点击
所在节点    Django
18 条回复
passluo
2012-07-09 14:05:17 +08:00
http://djangobook.py3k.cn/2.0/

看这里耐心看完。。自学最重要的是耐心。

中文版有些地方翻译不是很好,特别是模板那2章节,建议看源码和觉得不太对的地方去看英文版。中文版字符没有转译。
1272729223
2012-07-09 14:06:39 +08:00
@passluo 谢谢,我就是在看这个!
passluo
2012-07-09 14:12:16 +08:00
@1272729223 http://new.djangobook.com/en/2.0/ 建议第四章和第九章结合英文版的看。边看边动手哈。 基础模板 和子模板继承在第四章有讲
helloboy
2012-07-09 14:13:56 +08:00
djangobook 看这书的时候自己多动手。
1272729223
2012-07-09 14:19:05 +08:00
恩 谢谢两位!
1272729223
2012-07-09 14:43:52 +08:00
settings:
import os.path

TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'),
)

urls.py:
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
from cy.views import index

urlpatterns = patterns('',
(r'^$',index), (这里地方怎么弄?)
)

views.py:
from django.http import Http404,HttpResponse
from django.template.loader import get_template
from django.template import Context
import datetime

def index(request):
now=datetime.datetime.now()
return render_to_response('index.html', locals())



以下是我的目录结构
cy:
manage.py
cy:
__init__.py
settings.py
urls.py
views.py
wsgi.py
templates:
base.html
index.html
about.html
contact.html
1272729223
2012-07-09 14:45:04 +08:00
cy:
####manage.py
####cy:
########__init__.py
########settings.py
########urls.py
########views.py
########wsgi.py
####templates:
########base.html
########index.html
########about.html
########contact.html
1272729223
2012-07-09 14:46:28 +08:00
Page not found (404)

Using the URLconf defined in cy.urls, Django tried these URL patterns, in this order:

^$

The current URL, index/, didn't match any of these.
1272729223
2012-07-09 15:09:19 +08:00
这个问题 ok了,是路径不对!
yanng
2012-07-09 18:19:46 +08:00
不可以这么浮躁的学django,django的文档基本上是几个py web框架中最详细的了,views url templte是最基本的东西了,沉下心来好好学吧。
1272729223
2012-07-09 20:25:23 +08:00
@yanng 恩 谢谢! :-)
judezhan
2012-07-13 01:06:54 +08:00
这个真不是我吐槽,作为技术人员,要开始学习一项新技术,最起码要先把文档粗略看一下,而不是一开始就问该怎么实现,就算把实现的代码贴出来,你能跑起来,又有什么意义呢?知其然,而不知其所以然,对你学习新的技术真的一点帮助都没有。
好了,拍砖吧!
1272729223
2012-07-13 03:35:52 +08:00
@judezhan 恩 谢谢你的建议! 但是对于我来说,可能更好的方式是先实现效果,回头再去理解他们的原理,这样给我的印象更深刻,光看理论对我而言不是一个很好的学习方法。就象Javascript,核心语言其实我已经认真的读了不少于5遍了,但是至今会的还只是套用别人写的代码。 虽然可能看起来,啊,原来也不难。

折腾了几天django,urls配置好了,视图也写好了,模板(html)今晚也写好了,现在想弄一个最简单的后台管理系统(只需要一个新闻发布的功能),但是不知道怎么着手了,我不想用django的管理系统,该怎么弄呢?

我的管理员系统只有这几个界面: 登陆界面,管理界面(只一个发布新闻的按钮和已经发布的新闻列表),发布新闻的界面。 我现在是想搜答案都不知道搜什么,请不令赐教!

付费500元,在上海地区当面请教! 万分感谢!
kidblg
2012-07-13 08:47:46 +08:00
@1272729223

试试django-cms https://www.django-cms.org

django自带的admin也不错啊,你嵌入一个tinymce就行了, http://imtx.me/archives/215.html
1272729223
2012-07-13 13:43:21 +08:00
@kidblg 谢谢 今晚继续折腾! 有没面授的呀! 很期待
judezhan
2012-07-13 15:22:42 +08:00
@1272729223 ...谈钱伤感情,技术交流就好。我不是很明白,为什么这么简单的需求要用Django来做?如果你是为了学Django,然后弄个项目练练手,这个没问题,但如果你是为了做这个项目而折腾Django,那真的有点不值。老实说Django一般合适中型的项目,小项目用web.py或者bottle之类的就能搞定了。另外,Django还是比较好入手的,先把你的Model定义好,你的项目逻辑这么简单,Model明确了之后直接在views里面写处理http request的函数就好了。然后HTML模板弄弄好就OK了。
1272729223
2012-07-13 15:29:29 +08:00
@judezhan 谢谢 我是练手的,想学python和django。 愿意付费请教。 我已经写好views,html模板,还有urls都配置好了,现在可以浏览静态的页面了。 但是就缺少一个后台,我是想自己写一个,接下去就知道怎么去折腾了。
judezhan
2012-07-13 16:37:25 +08:00
@1272729223 任何应用,数据是核心。先把你的Model定义好。Django一个自认为很NB但其实一直有争议的部分就是他的Middleware, 几乎任何通用的东西你都可以在Middleware完成,包括Auth, Session管理等等。但是一般刚开始学的,可以先试着自己实现(其实那些个Middleware也很简单,有时间可以去看看他们的源码,我一般都会自己写一些Middleware),就拿Auth来说吧,Client POST username/password等数据过来,然后你拿数据去数据库匹配,成功返回正确的内容,失败就返回错误提示。 建议你先熟悉一下Django的http request对象和http response对象,包括他们包含哪些数据等信息。

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

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

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

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

© 2021 V2EX