初识Django

参考书目: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

1 {% for post in posts %}
2 <h2>{{ post.title }}</h2>
3 <p>{{ post.timestamp }}</p>
4 <p>{{ post.body }}</p>
5 {% 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.

时间: 2024-08-05 23:16:33

初识Django的相关文章

初识Django —Python API接口编程入门

初识Django -Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言,基于Django框架,利用MVC模型,实现后台方面的针对数据库的API开发.先了解一下互联网的WEB架构, 如上图: 互联网的WEB架构大致分为三层,web层.app层和数据库层.Web层:如apache网站服务器:app层主要是应用业务:DB指后台数据库.随着互联网的高速发展,网站访问量的增长.数

Django学习手册 - 初识django

初识: django简介: 开放源代码的web应用框架 由python语言编写的. 一.框架基本概念(核心): 以上这个图就是 django 的核心逻辑图,必须熟记.后续的所有编程都跟这个图的逻辑息息相关. 二.MVC/MTV 是啥子? MVC:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交

python——初识django的template

这周听了老师讲关于django的框架问题,第一次比较透彻的了解了mtv框架.也是第一次接触模板的概念,研究了一下,现在就记录下来好嘞... 首先要介绍一点关于django的模板:我们为什么要使用模板呢?之前我已经知道django可以将前端需要的数据在后台进行处理之后返回给前端,但是如果任何页面的改动会牵扯到Python代码的改动,网站的设计改动会比Python代码改动更频繁,所以如果我们将两者分离开会更方便,templates的概念就这样应运而生. 下面先记录一个简单的例子: 上面就是全部的代码

一、初识 Django

一.引子 Django最初设计用于具有快速开发需求的新闻类站点,目的是要实现简单快捷的网站开发! 从好的方面来看,Web 开发激动人心且富于创造性:从另一面来看,它却是份繁琐而令人生厌的工作.通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西.为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为"如何解决问题"提供了清晰明了的约定.同时,Django 尝试留下一些方法,来让你根据需要在fra

初识django之orm布置与增删改查

1.数据库驱动:给database--->data source下载对应数据库的驱动. 2.数据库工具包:py2.0支持MySQLdb(),但是py3中MySQLdb()已经不能完全适用,需要置换,毕竟orm底层上还是基于关于数据库操作的py工具包,请先确保已经下载好了pymysql,在项目文件夹下的__init__.py下添加: import pymysql pymysql.install_as_MySQLdb() 3.数据库连接设置:在settings.py里配置数据库连接信息:DATABA

初识django安装

1.创建虚拟环境 mkvirtualenv -p /usr/bin/python3.6  name(需要创建的虚拟环境名字) 2.安装django pip install django  (此安装未指定版本,默认安装最新版本) 3.创建第一个django项目 利用代码进行创建项目:django-admin startprojcet  name(创建的项目名称) 4.创建第一个app 利用代码进行创建app:python manage.py startapp appname(创建的app名称) 原

初识 Django

啥是DNS DNS是域名解析系统,当我们通过浏览器发送如“ baidu.com” 时会先发送给本地DNS,没有找到的话会再发送到根服务器,世界上一共有13台根服务器, 10台在美国,两台在欧洲,一台在日本.这不是重点,根服务器会拿到我们发的请求时,会解析后面的.com部分,发送信息给 管理.com的顶级服务器中去查找,再通过.com顶级服务器找到管理baidu.com的权威服务器,返回一个ip和端口给本地DNS,本地会记录下来IP地址并访问www.baidui.com. DNS就是记录着域名和i

初识DJango框架

小白必会三板斧 HttpResponse:返回字符串 render:返回HTML页面 redirect:重定向 静态文件配置 什么是静态文件 网站所用到的 自己写好js 自己写好css 第三方的框架 bootstrap.fontwesome.sweetalert 通常情况下 网站所用到的静态文件资源 统一都放在static文件夹下 STATIC_URL = '/static/'是访问静态资源的接口前缀,也就是说,'/static/'就像一个令牌,只要是去访问静态资源,就必须先经过'/static

django安装与简介

一.初识Django自称MTV框架.和传统的MVC大同小异.M指数据模型(Model),T指模板(Template),用来描述数据的展现.V指的是视图(View),并且,在Django中可以通过URL分发器对URL和View之间的映射进行配置,而View则URL分发器回调启动server python manage.py runserver可以更改本地端口:python manage.py runserver 8080还可以设置成允许公开的互联网连接python manage.py runser