栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django框架学习(2)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django框架学习(2)

目录

一.settings.py文件

1.公有配置

2.私有配置

二.URL结构

1.portocol(协议)

2.hostname(主机名)

3.port(端口号)

4.path(路由地址)

5.query(查询)

6.fragment(信息片段,锚点)

三.处理URL请求

四.视图函数

五.路由与视图配置

1.路由配置—path()函数

2.简单路由配置

3.path--转换器

4.include()函数


一.settings.py文件

这个文件包含了Django项目启动的所有配置项

  配置项格式前面必须是大写,后面是字符串,构成一个键值对

base_DIR ='xxxx'

  此文件包含公有配置和私有配置

1.公有配置

  Django官方提供的基础配置

base_DIR = Path(__file__).resolve().parent.parent

  用来确定项目文件夹的绝对路径

DEBUG = True

 True:调试模式.功能: 1,提供报错页面 2,检查到代码更改,自动重启
 False:正式模式/上线模式

LLOWED_HOSTS = []

  允许访问的Host头

ROOT_URLCONF = 'mysite1.urls'

   用来确定主路由文件的位置

LANGUAGE_CODE= 'zh-hans'
#LANGUAGE_CODE = 'en-us'
TIME_ZONE='Asia/Shanghai'
#TIME_ZONE = 'UTC'

   确定使用的语言和时区

2.私有配置

  首先需要满足配置规范,然后配置名称尽量个性化,以防覆盖公有配置

所有配置项都可以按需带代码中引用

from django.conf import settings

二.URL结构
protocol://hostname[:port]/path[?query][#fragment]

1.portocol(协议)

http:通过超文本传输协议(http)访问资源https:基于http通过安全ssl或tls提供加密处理file:本地计算机的资源

2.hostname(主机名)

    是指存放资源的域名系统主机名,域名或ip地址

3.port(端口号)

    可选,开放服务的端口,http默认为80

4.path(路由地址)

    由 ”/“隔开的字符串用来表示主机上一个目录或文件地址。路由地址决定了服务端如何处理这个请求

5.query(查询)

    可选,用于给动态网页传递参数,可有多个参数,用&隔开,每个是由=连接的键值对

6.fragment(信息片段,锚点)

     一个字符串,用于指定网页资源的片段。例如一个网页由多个名词解释,可用其直接定位到某一名词


三.处理URL请求

1.Django从配置文件中根据ROOT _URLCONF 配置参数找到主路由文件,默认在项目同名目录下的urls

2.Django 加载主路由文件的urlpatterns数组,由上至下一一进行匹配,找到一个匹配成功的结果中断匹配

3.匹配成功,调用视图函数返回响应,或调用include函数转至下级urls.py文件     匹配失败,返回404响应


四.视图函数
from django.http import HttpResponse                                                                                                                                                       

def index(request):
    html='这是我的首页'
    return HttpResponse(html)

  必须引入HttpResponse模块

  传入的参数第一个必须是request


五.路由与视图配置

1.路由配置—path()函数

  导入:from django.urls import path

  语法:path(route,views,name=None)

  参数:1.route:字符串类型,匹配的请求路径

         2.views:指定路径所对应的视图处理函数的名称,注意不要加括号

         3.name:为地址起别名,在模板中地址反向解析时使用

2.简单路由配置

  urls.py代码

  from django.contrib import admin                                                                                                                                                       
  from django.urls import path
  from . import views
  
  urlpatterns = [
      path('admin/', admin.site.urls),
      path('page/1/',views.page_1,name='view_page_1'),
      
  ]

  需要引入同目录下的views .py文件

  views.py 需要写出对应视图函数,并按需返回响应

3.path--转换器

  语法:<转换器类型:自定义名>

  作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给对应的视图函数

   例子:

path (’page/‘,views.pagen)

   转换器类型

转换器类型作用
str匹配除'/'以外的非空字符串
int匹配0和任何整数,返回int数据
slug匹配任意由ASCII字母或数字以
及连字符和下划线组成的短标签
path匹配非空字段,包括'/'

   对应views里函数代码

def pagen(request,pg):                                                                                                                                                                     
    html='这是编号为%s的网页'%(pg)
    return HttpResponse(html)

若path不能很好的表示url可以使用re_path(正则表达式)

4.include()函数

   在主urls.py 中需要将路由调至app中,用到include函数

    比如

path('polls',include('polls.urls')),

  此时应注意引入include模块

from django.urls import path,include

  此时在浏览器地址栏输入-------/polls/     路由就会转至同目录下的pools里的urls.py进行路由 

 何时使用 include()

  当包括其它 URL 模式时应该总是使用 include() , admin.site.urls 是唯一例外。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756928.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号