17-静态文件配置1
静态的文件的配置不能直接将CSS、JS文件直接放在templates的文件夹中
要将所有的静态文件放在static的文件夹中,然后配置上静态文件static的路径
要想访问Django这个文件,就必须要使用它的别名去访问
Django就是通过别名路径去找实际的路径


18-静态文件配置2
写项目的时候,不要把JS、CSS文件放在和HTML相同的目录文件里,要把不同的文件放在不同的地方

19-路由控制之简单配置
Django的主体内容就是MTV+控制器,4个部分
为了保证网页浏览的严谨性,需要对网页的路径进行配置,在网页的路由分发处,加上正则表达式,确保路径的唯一性
"""first_pro URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import:  from my_app import views
2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
1. Add an import:  from other_app.views import Home
2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, re_path
from app01 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('timer/', views.timer),
path('login/', views.login),
# 路由配置,哪一个路径由哪一个视图函数处理,路由------>视图函数
re_path(r'^articles/2003$', views.articles)
]

from django.shortcuts import render,HttpResponse
# HttpResponse:就是响应对象,响应对象就是一串响应的字符串
# Create your views here.
def timer(request):
import time
ctime = time.strftime('%Y-%m-%d %X', time.localtime(time.time()))
return render(request, "time.html", {"date": ctime})
def login(request):
return render(request, 'login.html')
def articles(request):
return HttpResponse('Hello World')
def ach(request, year):
return HttpResponse('Not a big deal %s' % year)
def mon_ach(request, year, mon):
return HttpResponse('Hello %s-%s' % (year, mon))

注意:
  • 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。
  • 不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。
  • 每个正则表达式前面的'r' 是可选的但是建议加上。它告诉Python 这个字符串是“原始的” —— 字符串中任何字符都不应该转义

20-路由控制之有名分组
传参数的时候是按照位置传参数的,关键字传参数可以有效的避免参数传入的时候考虑名称的参数传入
关键字传参数
21-路由控制之分发
22-路由控制之登录验证示例
from django.shortcuts import render,HttpResponse
# HttpResponse:就是响应对象,响应对象就是一串响应的字符串
# Create your views here.
def timer(request):
import time
ctime = time.strftime('%Y-%m-%d %X', time.localtime(time.time()))
return render(request, "time.html", {"date": ctime})
def login(request):
print(request.method)
if request.method == 'GET':
return render(request, 'login.html')
else:
# print(request.GET)
print(request.POST)
user = request.POST['user']
pwd = request.POST['pwd']
if user == 'pandaboy' and pwd == '123':
return HttpResponse('登录成功')
else:
return HttpResponse('登录失败')
def articles(request):
return HttpResponse('Hello World')
def ach(request, year):
return HttpResponse('Not a big deal %s' % year)
def mon_ach(request, month, year):
return HttpResponse('Hello %s-%s' % (year, month))

23-路由控制之反向解析1
做开发的时候会随着变更需求,而不断的去更改url,一旦更改了,之前的函数就会有问题
在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。人们强烈希望不要硬编码这些URL(费力、不可扩展且容易产生错误)或者设计一种与URLconf 毫不相关的专门的URL 生成机制,因为这样容易导致一定程度上产生过期的URL。
在需要URL 的地方,对于不同层级,Django 提供不同的工具用于URL 反查:
  • 在模板中:使用url 模板标签。
  • 在Python 代码中:使用from django.urls import reverse()函数
24-流程控制之反向解析2
反向解析的目的就是不写死url,而是利用url的别名机制,取代访问url的路径

25-路由控制之名称空间1
命名空间(英语:Namespace)是表示标识符的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其它命名空间中。
由于name没有作用域,Django在反解URL时,会在项目全局顺序搜索,当查找到第一个name指定URL时,立即返回
我们在开发项目时,会经常使用name属性反解出URL,当不小心在不同的app的urls中定义相同的name时,可能会导致URL反解错误,为了避免这种事情发生,引入了命名空间。
26-路由控制之名称空间2
include使用元祖的形式包装名称空间的路径

转载于:https://www.cnblogs.com/pandaboy1123/p/9665559.html

路飞学城Python-Day78相关推荐

  1. 路飞学城python全栈开发_[Python] 老男孩路飞学城Python全栈开发重点班 骑士计划最新100G...

    简介 老男孩&路飞学城Python全栈开发重点班课程,作为Python全栈教学系列的重头戏,投入了全新的课程研发和教学精力,也是Python骑士计划的核心教学,由ALEX老师开班镇守,一线技术 ...

  2. 路飞学城—Python爬虫实战密训班 第三章

    路飞学城-Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫:- 定义调度器- 定 ...

  3. b站路飞学城python课梨视频项目代码

    @b站路飞学城python课梨视频项目代码 # -*- coding:utf-8 -*- import requests from lxml import etree import random im ...

  4. 路飞学城python开发入门学习

    零基础参加了路飞学城python七天入门集训,由于无相关基础知识,所以笔记简陋,大家将就着看看,欢迎批评指正. 1.第一个程序: print('Hello,World") 2. python ...

  5. 路飞学城python电子书_路飞学城-Python开发集训-第一章

    路飞学城-Python开发集训-第一章 1.本章学习心得.体会 我: 间接性勤奋. 我: 学习方法论:输入--输出---纠正 我: 对对对 走出舒适区, 换圈子, 转思路,投资自我加筹码. 我: 圈子 ...

  6. 路飞学城python全栈开发_python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)...

    昨日内容回顾 1. 为什么要做前后端分离?-前后端交给不同的人来编写,职责划分明确.-API (IOS,安卓,PC,微信小程序...)-vue.js等框架编写前端时,会比之前写jQuery更简单快捷. ...

  7. 路飞学城-python爬虫密训-第三章

    (一)学习心得 其实在没有正式学习python编程语言中,就知道模块是python最重要部分之一.虽然在前面HTTP协议跟IO多路复用都没有接触学的也是一知半解,scrapy模块比resquests模 ...

  8. 路飞学城-Python爬虫实战密训-第1章

    正式的开始学习爬虫知识,Python是一门接触就会爱上的语言.路飞的课真的很棒,课程讲解不是告诉你结论,而是在告诉你思考的方法和过程. 第一章,学习了如何爬取汽车之家以及抽屉登录并点赞. 1 impo ...

  9. 路飞学城-Python 爬虫实战密训-第 1 章

    本节学习体会: 鸡汤心得: 1.时代发展太快,要不断学习新东西,武装自己,才能跟得上时代的潮流,不然就是面临被pass的命运 2.要看清楚趋势,不要闭门造车 3.学习编程语言就跟学英语一样,方法很重要 ...

  10. 路飞学城-Python爬虫集训-第一章

    自学Python的时候看了不少老男孩的视频,一直欠老男孩一个会员,现在99元爬虫集训果断参与. 非常喜欢Alex和武Sir的课,技术能力超强,当然讲着讲着就开起车来也说明他俩开车的技术也超级强! 以上 ...

最新文章

  1. 读书:历史 -- 东印度公司
  2. UVA 11134 FabledRooks 传说中的车 (问题分解)
  3. [Job Interview] C/C plus plus Programming
  4. Aliyun 挂载硬盘
  5. HTML5中是否有浮点输入类型?
  6. mysql 导入文件提示 --secure-file-priv option 问题
  7. 27.4. /etc/bandwidthd.conf
  8. python中判断变量的类型
  9. HDU 6186 CS Course
  10. 海外对鸿蒙的态度,谷歌、三星挑明态度,国内厂商集体拒绝鸿蒙?任正非将如何应对?...
  11. 剑指offer三从头到尾打印链表
  12. 多个vue项目之间跳转_Vue六,路由,ElementUI
  13. 实战案例:贷款分析之plotly VS ggplot2
  14. AX2012/D365 批处理如何创建
  15. cass生成曲线要素_CASS菜鸟入门指南-道路断面
  16. 【协议基础】DNS协议概述DNS抓包分析
  17. Maven实战 4 -- Maven核心概念
  18. npm login报错:npm notice Beginning October 4, 2021, all connections to the npm registry.......
  19. 易语言 小写金额转大写金额
  20. 5.Numpy数组中数据的抽取

热门文章

  1. 站长说说之SEO流量翻倍增长的秘密
  2. nali for win golang版, 显示ip 的小工具
  3. 2023成都精密光学展览会
  4. F1摩托艇大赛(Shawn报道)
  5. Visual Studio 2022安装时Visual Studio Installer稍等片刻...正在提取文件 进度条不动 0B每秒-已解决
  6. win10把AppData目录挪到其他盘的方法
  7. 1、结构化、面向对象程序设计差别、类基本概念
  8. 计算机应届博士生的一点求职经验——概述篇
  9. 博士申请 | 北京大学MILab招收人工智能/医学影像方向2022级博士生
  10. ios开发之切换RootViewController