Django框架的项⽬结构详细解析Django框架开发
创建项⽬的指令
$ django-admin startproject 项⽬名称
如:
$ django-admin startproject mysite1
运⾏
$ cd mysite1
$ python3 manage.py runserver
# 或
$ python3 manage.py runserver 5000  # 指定只能本机使⽤127.0.0.1的5000端⼝访问本机
补充:
Django 启动时报错,the port already in use
原因是之前的进程没有正常退出
解决⽅案:
1,ps aux|grep'runserver'过滤出之前启动的django进程
2,sudo kill -9 51246
Django项⽬的⽬录结构django admin 自定义页面
⽰例:
$ django-admin startproject mysite1
$ tree mysite1/
mysite1/
├── manage.py
└── mysite1
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
项⽬⽬录结构解析:
manage.py
此⽂件是项⽬管理的主程序,在开发阶段⽤于管理整个项⽬的开发运⾏的调式
manage.py 包含项⽬管理的⼦命令, 如:
python3 manage.py runserver 启动服务
python3 manage.py startapp 创建应⽤
python3 manage.py migrate 数据库迁移
...
mysite1 项⽬包⽂件夹
项⽬包的主⽂件夹(默认与项⽬名称⼀致)
1. __init__.py
1. 包初始化⽂件,当此项⽬包被导⼊(import)时此⽂件会⾃动运⾏
2. wsgi.py
1. WSGI 即 Web Server Gateway Interface
2. WEB服务⽹关接⼝的配置⽂件,仅部署项⽬时使⽤
3. urls.py
1. 项⽬的基础路由配置⽂件,所有的动态路径必须先⾛该⽂件进⾏匹配
4. settings.py
1. Django项⽬的配置⽂件, 此配置⽂件中的⼀些全局变量将为Django框架的运⾏传递⼀些参数
2. setting.py 配置⽂件,启动服务时⾃动调⽤,
3. 此配置⽂件中也可以定义⼀些⾃定义的变量⽤于作⽤全局作⽤域的数据传递
settings.py ⽂件介绍
1. BASE_DIR
1. ⽤于绑定当前项⽬的绝对路径(动态计算出来的), 所有⽂件都可以依懒此路径
2. DEBUG
1. ⽤于配置Django项⽬的启⽤模式, 取值:
1. True 开发环境中使⽤。 调试模式(⽤于开发中)
2. False 当前项⽬运⾏在⽣产环境中(不启⽤调试)
3. ALLOWED_HOSTS
1. 设置允许访问到本项⽬的⽹络地址列表,取值:
1. [] 空列表,表⽰只有请求头中host为127.0.0.1, localhost能访问本项⽬
2. [’*’],表⽰任何请求头的host都能访问到当前项⽬
3. [‘192.168.1.3’, ‘127.0.0.1’] 表⽰只有当前两个host头的值能访问当前项⽬
1. 注意:
1. 如果要在局域⽹其它主机也能访问此主机,启动⽅式应使⽤如下模式:
2. python3 manage.py runserver 0.0.0.0:5000 # 指定⽹络设备所有主机都可以通过5000端⼝访问(需加ALLOWED_HOSTS = ['*']) 4. INSTALLED_APPS
1. 指定当前项⽬中安装的应⽤列表
5. MIDDLEWARE
1. ⽤于注册中间件
6. TEMPLATES
1. ⽤于指定模板的配置信息
7. DATABASES
1. ⽤于指定数据库的配置信息
8. LANGUAGE_CODE
1. ⽤于指定语⾔配置
2. 取值:
1. 英⽂ : "en-us"
2. 中⽂ : "zh-Hans"
9. TIME_ZONE
1. ⽤于指定当前服务器端的时区
2. 取值:
1. 世界标准时间: "UTC"
2. 中国时区 : "Asia/Shanghai"
0. ROOT_URLCONF
1. ⽤于配置根级 url 配置 ‘mysite1.urls’
2. 如:
1. ROOT_URLCONF = 'mysite1.urls'
注: 此模块可以通过 f import settings 导⼊和使⽤
URL 介绍
url 即统⼀资源定位符 Uniform Resource Locator
作⽤:
⽤来表⽰互联⽹上某个资源的地址。
说明:
互联⽹上的每个⽂件都有⼀个唯⼀的URL,它包含的信息指出⽂件的位置以及浏览器应该怎么处理它。
URL的⼀般语法格式为:
protocol :// hostname[:port] / path [?query][#fragment]
如:
/video/showVideo?menuId=657421&version=AID201908#subject
说明:
protocol(协议)
http 通过 HTTP 访问该资源。 格式 HTTP://
https 通过安全的 HTTPS 访问该资源。 格式 HTTPS://
file 资源是本地计算机上的⽂件。格式: file:///
hostname(主机名)
是指存放资源的服务器的域名系统(DNS) 主机名、域名 或 IP 地址。
port(端⼝号)
整数,可选,省略时使⽤⽅案的默认端⼝;
各种传输协议都有默认的端⼝号,如http的默认端⼝为80。
path(路由地址)
由零或多个“/”符号隔开的字符串,⼀般⽤来表⽰主机上的⼀个⽬录或⽂件地址。路由地址决定了服务器端如何处理这个请求
query(查询)
可选,⽤于给动态⽹页传递参数,可有多个参数,⽤“&”符号隔开,每个参数的名和值⽤“=”符号隔开。
fragment(信息⽚断)
字符串,⽤于指定⽹络资源中的⽚断。例如⼀个⽹页中有多个名词解释,可使⽤fragment直接定位到某⼀名词解释。
注: [] 代表其中的内容可省略
视图函数(view)
视图函数是⽤于接收⼀个浏览器请求并通过HttpResponse对象返回数据的函数。此函数可以接收浏览器请求并根据业务逻辑返回相应的内容给浏览器
视图处理的函数的语法格式:
def xxx_view(request[,其它参数...]):
return HttpResponse对象
参数:
request⽤于绑定HttpRequest对象,通过此对象可以获取浏览器的参数和数据
⽰例:
视图处理函数 views.py
# file : <;项⽬名>/views.py
from django.http import HttpResponse
def page1_view(request):
html ="<h1>这是第1个页⾯</h1>"
return HttpResponse(html)
Django 中的路由配置
settings.py 中的ROOT_URLCONF 指定了主路由配置列表urlpatterns的⽂件位置
urls.py 主路由配置⽂件
# file : <;项⽬名>/urls.py
urlpatterns =[
url(r'^admin/', admin.site.urls),
...# 此处配置主路由
]
urlpatterns 是⼀个路由-视图函数映射关的列表,此列表的映射关系由url函数来确定
3. url() 函数
1. ⽤于描述路由与视图函数的对应关系
2. 模块
1. f.urls import url
3. 语法:
1. url(regex, views, name=None)
2. 参数:
1. regex: 字符串类型,匹配的请求路径,允许是正则表达式
2. views: 指定路径所对应的视图处理函数的名称
3. name: 为地址起别名,在模板中地址反向解析时使⽤
每个正则表达式前⾯的r表⽰'\'不转义的原始字符串

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。