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='<h1>这是我的首页</h1>'
    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/<int pg>‘,views.pagen)

   转换器类型

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

   对应views里函数代码

def pagen(request,pg):                                                                                                                                                                     
    html='<h1>这是编号为%s的网页</h1>'%(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 是唯一例外。

Django是一个流行的高级Python Web框架,用于快速开发安全且可维护的Web应用程序。它以“ batteries included”为理念,提供了许多内置的功能和组件,如ORM(对象关系映射)、模板系统、认证系统和管理后台等,这使得开发者能够专注于业务逻辑而不是基础设施。 **学习Django的主要步骤包括:** 1. **安装和设置**:首先确保你已经安装了Python和pip,然后从官网下载并安装Django。 2. **基础知识**:了解Python基础语法、类和对象、数据类型、异常处理等。Django基于Python,所以Python基础至关重要。 3. **入门教程**:通过官方文档或在线教程开始,从创建第一个Django项目开始,理解项目的结构和组成部分。 4. **模型和数据库**:学习如何定义模型来映射数据库表,并使用Django ORM进行CRUD操作。 5. **视图和路由**:学习如何创建视图处理HTTP请求,以及如何配置URL路由。 6. **模板系统**:理解Django模板语言(Template Language)及其用法,用于生成HTML内容。 7. **认证和权限**:学会如何处理用户身份验证和授权。 8. **中间件**:深入理解如何扩展Django的行为和处理请求的生命周期。 9. **模板标签和过滤器**:掌握自定义模板表达式和数据处理技巧。 10. **部署**:学习Django应用部署到生产环境,如Gunicorn和Nginx。 **相关问题--:** 1. Django的优点有哪些? 2. 在实际项目中,如何优化Django的性能? 3. 如何在Django中实现RESTful API?
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyzyss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值