您的位置:首页 > 编程语言 > Go语言

初识Django

2015-05-04 23:13 274 查看
参考书目:Django Web开发指南,Django官方文档

环境Windows 8 x64 ,python2.7.9 x32,Django1.8.1

因为书中的Django版本似乎是比较老的了,所以这里我参考了官方在线文档完成书中的相关部分,下面记录的就是书中代码在新版中的实现。

1.安装等略

2.新建一个项目project



新建立的项目结构如下:



3.数据库连接



4.启动Django开发环境的测试服务器:



在浏览器地址栏输入 http://127.0.0.1:8000/来测试是否成功

在runserver命令后后可以指定端口号以及IP。

如:

manage.py runserver 8080
manage.py runserver 0.0.0.0:8080


当项目中有错误的话一般这个服务器是不会成功启动的,可以借此查看异常问题。

成功的话:



5.创建app模块:



6.创建app中用到的model:

创建项目需要的model需要在上述文件的models.py中编写继承类:



7.在项目中加入app模块:



8.为新建的模块连接数据表:



9.刷新数据库



10.创建管理员账户:



这个将来是为登陆项目主页所需要的验证环节。

此时启动测试服务器,在浏览器键入地址http://127.0.0.1:8000/admin/

可以看到:



输入刚才设置的用户名和密码就可以登陆控制台了:



这里没有显示出我创建过的app/blog模块,需要在admin.py中对模块引入并注册

11.注册模块:



这时再次转到刚才的界面:



成功导入了,现在就可以进入Blog的模块下进行编辑了,点击右侧的Add进入新建一个blog post的界面:



随便填写需要的内容就可以了,填写完成之后点击Save就可以保存了:



成功建立的界面会显示一个当前建立的post列表:



这里出现的问题是名称是默认的,感觉很难看,为了自定义显示的格式,需要下一步操作:

12.自定义显示条目:

为了在添加的条目中使用模型自定义的规则显示姓名,最简单的方式是在模型类下定义__str__方法返回一个字符串,比如:



效果:



当然也可以自定义条目显示多少个参数:



刷新测试服务器之后刷新刚才的页面:



在同样的文件中加入这样一句:



这样定义的是创建post的界面的条目排列:



补充,为条目添加标题:(此处项目变更为文档示例的polls项目)



效果:



显示/隐藏,只显示条目:



效果:



其他个性化设置参见官方文档

13.关联条目(将Question关联到Choice)



显示效果:



14.定义显示model的html模板

下面的项目回到Blog项目,为了显示blog的信息到一个页面上,需要自定义一个html模板来支持显示,在blog下建立一个templates目录,并加入一个任意命名的html文件:



新建的html文件如下:

index.html

{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.timestamp }}</p>
<p>{{ post.body }}</p>
{% endfor %}


其中夹在{%%}和{{}}中的是执行的代码而不是html的tag。

15.定义模板需要的视图变量

看到了上述模板html中出现了一个名为posts的明显外部传入的量,需要我们定义一个views来获取并传递给这个值,标准view定义如下:



当然第一个用来获取对象的函数不一,可以根据文档按照需要选用。

16.定义URL定向

根据MVC模式原理,此处应有控制层,我认为此处的控制层就是URL定向问题,若要根据URL找到刚才创建的页面

需要在两处做定义,一个定义了如何找到blog,一个在blog中定义了如何找到blog的子views

首先是项目的urls:



此处表明以blog/为开头的URL需要去blog.urls下面找匹配,这就需要第二个定义

在blog目录下建立urls.py文件:



内容如下:



这样就完成了定义,访问http://127.0.0.1:8000/blog/这个地址,出现的就是按照定义的模板显示的网页:



通过加载css我们还可以定义他的样式:







效果:



背景图片是bing的最近一个壁纸

这就是昨天晚上和今天的成果。

done.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: