首页 > Python > linux工匠之django入门学习
2017
01-10

linux工匠之django入门学习

一,创建project 启动django应用

继续python学习,配置完pyenv建立独立的python环境后新建django应用

django安装完成后启动创建的项目

遇到错误及方法:

#创建models定义的表,默认用sqlite数据库,migrate命令是更新数据库,把model中定义的表结构直接以sql语句运行,而不用自己写建表的sql语句

浏览器访问本机地址 http://IP_ADDRESS:8000/

二,建立一个应用
2.0 创建应用

项目mysite已经建立,再建一个应用,名字为polls。一个项目project可以有多个应用app,就像一个网站有了名字后,还有多个菜单栏

完成后需要在mysite里面注册此应用

下面应用polls用记者Reporter和文章Artical的对应关系举例

2.1 model层

model层是定义数据库表结构字段等,用migrate命令可以生成sql语句。下面定义reporter和artical 2个表结构

#创建及更改表结构后,makemigrations负责根据您对模型所做的更改创建新的迁移

#查看创建表生成的SQL语句

#创建模型所对应的表,更新数据库

2.2 django的shell操作

django提供shell接口,可对其操作

2.3 创建登录后台的超级用户

浏览器访问http://10.211.55.4:8000/admin/,输入用户名密码登录
2.4 注册model定义的类 Artical

http://10.211.55.4:8000/admin/ 访问查看,
不过对于Reporter来说,只有Tom一个人,可以同样方式注册Reporter,修改admin.py

linux工匠之django入门学习 - 第1张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

2.5 在project里注册urls

上面几步是其实说了2点:1,建立个应用并注册  2,编辑models.py生成数据库建表语句。下面urls、views、template是对页面展示处理的核心,urls可以理解为传送带,把不同的访问(泥土或陶土)分发到不同的views中;views是混合搅拌机,处理url请求,并且根据模板template(砖头或者瓷砖样式)加工为指定样式的产品,至于出来的产品是什么样的,内容由views决定,外形有template决定,然后发给用户

编辑urls链接

2.6 添加一个views视图

2.7 添加templates模板

在mysite/settings.py的TEMPLATES = [] 中

访问http://10.211.55.4:8000/polls/

linux工匠之django入门学习 - 第2张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

2.8 sqlite操作

linux工匠之django入门学习 - 第3张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

django运行的流程图如上,遵循MVC(model,view,control),也有说法django是MTV(model,template,views)模式,2中模式都可以说通。数字序号为request,字母序号为response。一般我们需要设置的为绿色的入口文件urls.py,请求和响应的封装视图view,数据抽象层model,和模板template。

manage.py runserver运行后(下面标题数字不对应上图的步骤数字)

1,加载django的execute_from_command_line和配置(mysite/settings.py),配置中包含定义的应用、中间件、模板、urls、wsgi

2,通过定义的apps和urls,读取polls包和”mysite/urls.py”,网址链接通过此urls文件路由

3,由配置的urlpatterns得到apps的urls(polls/urls.py),我们在此定义了url正则、views

4,views中引入了modle,并且定义了请求和响应的返回数据,和template中需要使用的变量

5,到了modle层,从数据库中取出所需数据,再通过template加载,由views返回给客户端

上面只是最简单的测试,了解了django的运行模式,我们可以再丰富一下内容:

通过访问以下链接查看结果:

linux工匠之django入门学习 - 第4张  | linux工匠|关注运维自动化|Python开发|linux高可用集群|数据库维护|性能提优|系统架构

你应该会说:尼玛这个页面好丑啊!

丑就将就看吧,等下一篇文章吧,代码在github

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。