一、安装环境
参考:
https://docs.djangoproject.com/zh-hans
https://www.runoob.com/django/django-install.html
https://docs.qq.com/doc/DSHlYb3JoYVlETXh4 (要登录 pa qq)
1.0 虚拟环境安装
参考:https://www.cnblogs.com/chenxi188/p/10700608.html
用于解决移植,多版本等问题
1 | 第一步:安装环境支持[linux下在前加sudo] http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl |
1.1 安装django
1 | pip install Django |
二、创建django项目
进入我们想要放项目的目录(直接在指定目录右键+shift—此处打开命令提示符),输入如下命令,创建 Django 项目:
2.0创建项目语法
1 | django-admin.py startproject project1 |
2.1 运行项目
运行项目:
1 | cd project1 # 切换到我们创建的项目 |
在浏览器打开网址:127.0.0.1:8000
即可看到发射的火箭效果。
2.2 在指定端口打开项目
运行命令说明: 0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。
1 | py manage.py runserver |
2.3 项目结构介绍
创建完成后我们可以查看下项目的目录结构:
1 | cd project1 |
2.4 项目目录说明:
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/
__init__.py
: 一个空文件,告诉 Python 该目录是一个 Python 包。 - HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”目录”。
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
三、创建项目的应用(app)
3.0 创建应用语法:
整个项目是由一个个子应用组成的(应用:相当于建立一个子功能模块)。
1 | py manage.py startapp app1 |
3.0.1完成后,项目目录:
1 | D:\a\django-app\project1>tree /f |
3.1 应用注册
- 一个应用创建完成后需要进行注册,才能使用它
- 建立应用和项目之间的联系,需要对应用进行注册:
修改 \project1\project1\settings.py 中的INSTALLED_APPS配置项
1 | # -*- coding: UTF-8 -*- |
3.2 创建应用的第1个【视图】页面
1)在 project1/app1/view.py 文件,输入代码:
1 | from django.http import HttpResponse |
注:视图函数必须有一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,hello world就是返回给浏览器显示的内容。
2)接着,添加并配置app1/urls.py
project1/app1/urls.py 文件代码:
1 | from django.urls import path |
或用url方法配置app1/urls.py路径【django3.x报错误】
1 | from django.conf.urls import url |
3)配置project1/urls.py
1 | from django.contrib import admin |
或用url方法配置project1/urls.py路径【django3.x报错误】
1 | from django.conf.urls import include, url |
4)效果:刷新localhost:8000/index页面显示
hello world !
3.3 path() 函数用法
Django path() 可以接收四个参数,分别是:
- 两个必选参数:route、view
- 两个可选参数:kwargs、name。
语法格式:
path(route, view, kwargs=None, name=None)
- route:字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。
- view:用于执行与正则表达式匹配的 URL 请求。
- kwargs:视图使用的字典类型的参数。
- name:用来反向获取 URL。
3.4 url()函数的用法【django3.x报错误】
配置的目的是让建立url和视图函数的对应关系。url配置项定义在urlpatterns的列表中,每一个配置项都调用url函数。
- url函数有两个参数,第一个参数是一个正则表达式,第二个是对应的处理动作。
配置url时,有两种语法格式:
- url(正则表达式,视图函数名)
- url(正则表达式,include(应用中的urls文件))
工作中在配置url时,首先在项目的urls.py文件中添加配置项时,并不写具体的url和视图函数之间的对应关系,而是包含具体应用的urls.py文件,在应用的urls.py文件中写url和视图函数的对应关系。
3.5 url()匹配的过程
在项目的urls.py文件中包含具体应用的urls.py文件,应用的urls.py文件中写url和视图函数的对应关系。
当用户输入如http://127.0.0.1:8000/aindex时,去除域名和最前面的/,剩下aindex,拿aindex字符串到项目的urls文件中进行匹配,配置成功之后,去除匹配的a字符,那剩下的index字符串继续到应用的urls文件中进行正则匹配,匹配成功之后执行视图函数index,index视图函数返回内容hello python给浏览器来显示。