django 实例,django网站开发实例pdf
django开源web框架知识总结(1) django Origin: 1.2005版本,用python语言编写的开源web框架。
2.在早期,django主要从事新闻和内容管理
3.重量级python web框架,django配备了最常用的组件。
组件:包括的组件如下。
1.基本配置文件/路由系统
2.模型层(m)/模板层(t)/视图层(V))。
3.Cookies和会话
4.管理背景管理
用途:1。网站/微信微信官方账号/小程序后端开发
浏览器http请求django
2.人工智能平台的集成
版本:1.django官网http://www.djangoproject.com
2.中文版:3359Docs。姜戈project.com/zh-Cautious老师/3.2/
3.django中文文献参考网站http://yiyibooks.cn/
4.最新版本3.x当前教育版本2.2.5
安装:python支持的版本-3.5、3.6、3.7、3.8
2.在线安装
(1)运行sudo pip 3的虚拟机安装django==2.2.5
)2)检查sudo pip 3 freeze grep-I django #-I参数是否不区分大小写。
3.离线安装——从官网下载离线安装包。
(1)将安装包复制到虚拟机。
)2)解压缩tar-xvf Django-2.2.5.tar.gz
)3)访问目录cd Django-2.2.5
(4)执行sudo python 3 setup.pyinstall的安装。
)5)检查sudo pip 3 freeze grep-I Django 是否成功。
注意:如果Ubuntu无法安装pip(可以ping外网),请解决:
如果CD~~/。皮普#。pip不存在,创建目录mkdir ~ ~/。pipcd ~ ~/. piptuchpip . confsudoedit ~ ~。并创建pip。[index-URL=3359pypi.tuna.tsinghua.edu.cn/simple/[安装]可信主机=pypi。Tsinghua.edu.cn江华.当您运行django-admin startproject项目名称时,将会创建相应的项目文件夹。例如,当终端运行Django-adminstartprojectmysite1时,将创建mysite 1项目。
工程创建和配置
1)创建一个目录
Mkdf17 _ procddf17 _ pro2)创建一个虚拟环境,安装Django框架。
MVTualenv-p Python 3D F17 Pipin StallDjango==2 . 2 . 5虚拟环境删除命令,删除环境名,注意在当前虚拟环境中不可用。
3)创建Django项目
django-adminstartprojectdjango _ pro4)来配置pycharm项目
启动【测试开发阶段】1,终端CD进入项目文件夹,比如cd mysite1。
2.进入项目文件夹后,运行python3 manage.py runserver启动django服务【注意:在这种启动模式下,django在前台启动服务,默认是监听端口8000】
3.浏览器可登录http://127.0.0.1:8000查看django启动页面。
【注意:当你想改变端口时,请使用python3 manage.py runserver的端口号】
End:该方法在runserver启动终端下。运行Ctrl c将停止Django服务。
2:在其他终端。运行sudo lsof -i:8000来检测Django进程id。支持kill -9的Django进程id
开始常见问题解答。问题:启动时出错。
错误:标题。原因:端口正在使用中。表示Django当前启动时的默认监听端口8000正被其他进程使用。解决方案:请参阅停止服务。
结构分析:
Manage.py manage.py包含用于项目管理的子命令,例如:3 pythonmanage.py runserver启动服务。3 pythonmanage.pystartapp创建应用程序。3 python manager . py migrate数据库迁移。…。直接执行python3 manage.py来列出所有Django子命令。
具有相同项目名称的文件夹具有相同项目名称的文件夹-mysite1/mysite1
_ init _ _:Python包的初始化文件wsgi . py:web服务网关的配置文件-URLs . py:Django正式启动时需要项目的主路由配置-settings.py:项目的配置文件在-HTTP请求进入Django时被有限调用-包含项目启动时需要的配置settings.py。Settings.py包含Django项目启动的所有配置项。配置项有:
公有配置
和自定义配置
。配置项格式示例:BASE_DIR=XXXX 。公共配置-Django官方提供的基本配置http://docs.djangoproject.com/en/2.2/ref/settings/。使用pycharm打开settings.py进行查看。
配置public ALLOWED_HOSTS示例:如果局域网中的其他主机可以访问该主机的Django服务,按如下方式启动:
python 3 manage . py runserver 0 . 0 . 0 . 0:5000
指定网络设备。如果其他主机想在内网环境下正常访问站点,需要添加allowed _ host=[intranet ip]。
BASE_DIR用于绑定当前项目的绝对路径(动态计算),所有文件夹都可以依赖这个路径。
DEBUG用于配置Django项目的启动模式,值如下:
True:指示在开发环境中使用开发调试模式(用于开发)。
True:指示当前项目正在生产环境中运行。
ALLOWED_HOST设置允许访问本地项目的主机头值。
[]空列表,表示只有当请求命中127.0.0.1的主机且localhost可以访问本地项目时-DEBUG=True才有效。
[* ,这意味着任何请求标头的宿主都可以访问当前项目。
[192.168.1.3 , 127.0.0.1]表示只有当前两个主机头的值可以访问当前项目。
**INSTALLED_APPS **:指定当前项目中安装的应用程序列表。
MIDDLEWARE
:用于注册中间件
TEMPLATES
:用于指定模板的配置信息。
DATABASRS
:用于指定数据库的配置信息
LABGUAGE_CODE
:用于指定语言配置的英语:“en-us”中文:“zh-rydbm”
TIME_ZONE
:用于指定当前服务器端时区通用标准时间:“UTC”中国时区:“亚洲/上海”
ROOT_URLCONF
:用于配置主url的配置“mysite1.url”用户定义的配置也可以添加到自定义设置中
建议:尽可能个性化名称,避免覆盖公共配置。
例如:ALIPAY_KEY=XXXXXX
settings.py中的所有配置项都可以根据需要引入到代码中。
导入方法:从django.conf导入设置
以及视图函数的url结构定义:统一资源定位器(Uniform Resource Locatoe)
功能:用于表示互联网上某个资源的地址。
URL的一般语法格式为(注:[]表示内容可以省略):
协议://主机名[:端口]/路径[?查询][# fragment]http://TTS . tmooc . cn/video/show video?menuld=657421 version=aid 999 # subject
protocol(协议)
http://tts.tmooc.cn通过http访问资源。格式http://
Https通过安全HTTPS访问该资源。格式https://
文件资源是本地计算机上的文件。格式:///
hostname(主机名)
http://tts.tmooc.cn指托管资源的服务器的域名系统(DNS)主机名、域名或IP地址。
port(端口号)
http://tts.tmooc.cn:80整数,可选,省略时使用方案的默认端口。
各种传输协议都有默认端口号,比如http的默认端口号是80。
path(路由地址)
http://tts.tmooc.cn/video/showVideo由零个或多个“/”符号分隔的字符串,通常用于表示主机上的目录或文件地址。地址决定了服务器段如何处理这个请求。
query(查询)
/视频/showVideo?menuld=657421version=AID999可选,用于向动态网页传递参数。它可以由多个参数组成,用“”符号分隔,每个参数的名称和值用“=”符号分隔。
fragment(信息片段)
版本=AID999 #主题一个字符串,指定网络资源中的一个段。比如一个网页有多个名词解释,可以用fragment直接定位一个名词解释。
Django如何处理url的请求浏览器地址栏:http://127.0.0.1:8000/page/2003/。1.Django根据配置中的ROOT_URLCONF找到主路由文件。默认情况下,该文件位于URL中;在同名的目录中;示例:mysite1/mysite1/urls.py
.2.Django在主路由文件中加载urlpatterns变量[一个包含许多路由的数组]。3.依次匹配urlpatterns中的路径,匹配第一个合适的终端进行后续匹配。
.4.成功匹配——调用相应的视图函数来处理请求并返回响应。
. 5,匹配失败-返回404响应
视图函数
view函数是用于接收浏览器请求(HttpRequest对象)并通过HttpResponse对象返回响应的函数。该函数可以接受浏览器请求,并根据业务逻辑向浏览器返回相应的响应内容。
语法:def xxx_view(request[,other parameters …]):
返回HttpResponse对象
views.py
从django.http导入HttpResponsedef pagg1_view(请求):html=h1这是我的第一个页面/h1 返回html响应(html)URL。巴拉圭
从姜戈. contrib导入adminfrom django.urls导入路径从2005年开始.import viewsurlpatterns=[path( admin/,admin.site.urls),path(page/2003/,views.pagg1_view),]