django 学习(二)—— 第一个demo
安装django后,在../python37/Scripts/目录下会多出django-admin.exe文件。
cmd下输入:django-admin
这里罗列出django提供的命令
1.使用startproject创建项目
cmd:django-admin startproject guest_test # 创建guest_test项目
目录结构:
guest_test/__init__.py:一个空的文件,用它标识一个目录为Python的标准包
guest_test/settings.py:Django项目的配置文件,包括Django模块应用配置、数据库配置、模板配置等。
guest_test/urls.py:Django项目的URL声明
guest_test/wsgi.py:与WSGI兼容的Web服务器,为你的项目提供服务的入口点
manage.py:一个命令行工具,可以让你在使用Django项目时以不同的方式进行交互。
2.进入guest_test项目,查看manage提供的命令
cmd:cd guest_test
python manage.py # 查看manage所提供的命令
3.使用startapp创建应用
cmd:python manage.py startapp sign # 创建sign应用
目录结构:
migrations/:用于记录models中数据的变更
admin.py:映射models中的数据到Django自带的admin后台
apps.py:用于应用程序的配置,在新的Django版本中新增文件
models.py:Django的模型文件,创建应用程序数据表模型(对应数据库的相关操作)
tests.py:创建Django测试用例
views.py:Django的视图文件,控制向前端页面显示的内容
4.使用runserver运行项目
cmd:python manage.py runserver
或
python manage.py runserver 127.0.0.1:8001
5.在web页面上打印 hello django
- 配置guest_test/settings.py文件,将sign应用添加到项目中
计划通过index/ 路径来显示“hello django”,需要配置路径
- 在guest_test子目录下通过urls.py文件定义URLconf,添加/index/的路由配置
但此时views中没有index属性,所以接下来要创建index函数
- 打开../sign/views.py文件
定义index函数,并通过HttpResponse类向客户端(浏览器)返回字符串“hello django”
HttpResponse 类在 django.http.HttpResponse 中,以字符串的形式传递给客户端。
- 重新启动项目
cmd: python manage.py runserver 127.0.0.1:8001
6.使用模板(通过html页面代替“hello django”)
- 在sign/ 目录下创建templates/index.html文件
- 修改视图文件views.py中的index函数
这里抛弃HttpResponse类,转而使用Django的render函数。request为请求对象,“index.html”为返回给客户端的HTML页面。
注:
render()
此方法的作用---结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象。
通俗的讲就是把context的内容, 加载进templates中定义的文件, 并通过浏览器渲染呈现.
help文档中render描述
render(request, template_name, context=None, content_type=None, status=None, using=None)
参数:
request: 是一个固定参数
template_name: templates中定义的文件,注意路径名。比如:"templates/polls/index.html", 则参数这样写:"polls/index.html"
context: 要传入文件中用于渲染呈现的数据, 默认是字典格式
content_type: 生成的文档要使用的MIME 类型。默认为DEFAULT_CONTENT_TYPE 设置的值。
status: http的响应代码,默认是200.
using: 用于加载模板使用的模板引擎的名称。
- render()函数传递context来填充模板
刷新浏览器
7.django工作流: