【django开发】知识经验总结共50页md文档。今日分享:django项目搭建
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则
全套Django笔记直接地址:
共 4 章,47 子模块,总计 22989 字
Django流程
重点
MVT 流程:掌握M,V,T的每个模块的功能,了解MVT的流程
创 建Django项目和应用
django-admin startproject name
python manager.py startapp name
视 图和ULR
视图的请求和响应
URL的匹配路径
站点管理
站 点: 分为
内容发布
和公共访问
两部分内 容发布的部分由网站的管理员负责查看、添加、修改、删除数据
Django
能够根据定义的模型类自动地生成管理模块使用
Django
的管理模块, 需要按照如下步骤操作 :1.管理界面本地化
2.创建管理员
3.注册模型类
4.发布内容到数据库
1.管理界面本地化
本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化.
中国大陆地区使用
简体中文
, 时区使用亚洲/上海时区
, 注意这里不使用北京时区.本地化前
本地化后
2.创建管理员
创建管理员的命令 :
python manage.py createsuperuser
按提示输入用户名、邮箱、密码
重置密码
python manager.py changepassword 用户名
登陆站点 :
ht://127.0.0.1:8000/admin
需要服务器是启动状态
登陆站点成功
站点界面中没有书籍和人物管理入口,因为没有注册模型类
3.注册模型类
在
应用
的admin.py
文件中注册模型类需要导入模型模块 :
from book.models import BookInfo,PeopleInfo
注册模型后
注 册模型成功后, 就可以在站点管理界面方便快速的管理数据.
4.发布内容到数据库
发布内容后,优化模型类展示
准备书籍列表信息的模型类
class BookInfo(models.Model):
# 创建字段,字段类型...
name = models.CharField(max_length=10)
def __str__(self):
"""将模型类以字符串的方式输出"""
return self.name
视图和URL
站点管理页面做好了, 接下来就要做
公共访问
的页面了.对于
Django
的设计框架MVT
.用户在URL中请求的是视图.
视图接收请求后进行处理.
并将处理的结果返回给请求者.
使用视图时需要进行两步操作
1.定义视图
2.配置URLconf
1. 定义视图
视图就是一个
Python
函数,被定义在应用
的views.py
中.视图的第一个参数是
HttpRequest
类型的对象reqeust
,包含了所有请求信息
.视图必须返回
HttpResponse对象
,包含返回给请求者的响应信息
.需要导入
HttpResponse
模块 :from django.http import HttpResponse
定义视图函数 : 响应字符串
OK!
给客户端
思 考 : 如何才能让请求找到视图?
2. 配置URLconf
查找视图的过程 :
1.请求者在浏览器地址栏中输入URL, 请求到网站.
2.网站URL信息.
3.然后与编写好的URLconf逐条匹配.
4.如果匹配成功则调用对应的视图.
5.如果所有的URLconf都没有匹配成功.则返回404错误.
URLconf
入口
需要两步完成
URLconf
配置1.在
项目
中定义URLconf
2.在
应用
中定义URLconf
在
项目
中 定义URLconf
在
应用
中 定义URLconf
提示:一条
URLconf
包括URL规则、视图两部分URL规则使用正则表达式定义.
视图就是在
views.py
中定义的视图函数.
* url匹配过程
*
3. 测试:请求访问
ht://127.0.0.1:8000/
4. 总结
视图处理过程如下图:
使用视图时需要进行两步操作,两步操作不分先后
配置
URLconf
在
应用/views.py
中定义视图
总结View和URL匹配流程
模板
思考 : 网站如何向客户端返回一个漂亮的页面呢?
提示 :
漂亮的页面需要
html
、css
、js
.可以把这一堆字段串全都写到视图中, 作为
HttpResponse()
的参数,响应给客户端.
问题 :
视图部分代码臃肿, 耦合度高.
这样定义的字符串是不会出任何效果和错误的.
效果无法及时查看.有错也不容易及时发现.
设想 :
是否可以有一个专门定义前端页面的地方, 效果可以及时展示,错误可以及时发现,并且可以降低模块间耦合度!
解决问题 : 模 板
MVT
设计模式中的T
,Template
在
Django
中 , 将前端的内容定义在模板中, 然后再把模板交给视图调用, 各种漂亮、炫酷的效果就出现了.
模板使用步骤
1.创建模板
2.设置模板查找路径
3.模板接收视图传入的数据
4.模板处理数据
1.创建模板
在
应用
同级目录下创建模板文件夹templates
. 文件夹名称固定写法.在
templates
文件夹下, 创建应用
同名文件夹. 例,Book
在
应用
同名文件夹下创建网页模板
文件. 例 :index.html
2.设置模板查找路径
3.模板接收视图传入的数据
视图模板加载
4.模板处理数据
5. 查看模板处理数据成果
总结View-Templates流程
展示列表
需求
实现步骤
1.创建视图
2.创建模板
3.配置URLconf
1.创建视图
查询数据库数据
构造上下文
传递上下文到模板
# 定义视图:提供书籍列表信息
def bookList(request):
# 查询数据库书籍列表数据
books = BookInfo.objects.all()
# 构造上下文
context = {'books':books}
# 数据交给模板处理,处理完成后通过视图响应给客户端
return render(request, 'Book/booklist.html', context)
2.创建模板
读取上下文数据
构造网页html文档 : 书籍信息以列表样式展示
</ul>
</body> </html>
3.配置URLconf
进入
应用
中的urls.py
文件from django.conf.urls import url from book.views import index,bookList
urlpatterns = [ url(r'^$',index),
# 匹配书籍列表信息的URL,调用对应的bookList视图
url(r'^booklist/$',bookList)
]
配置和静态文件
未完待续 下一期下一章
完整笔记请看文章开头
- 点赞
- 收藏
- 关注作者
评论(0)