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:
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使用元祖的形式包装名称空间的路径

路飞学城Python-Day78的更多相关文章

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

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

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

    路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...

  3. 路飞学城Python爬虫课第一章笔记

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...

  4. 路飞学城-Python开发集训-第3章

    学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...

  5. 路飞学城-Python开发集训-第1章

    学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...

  6. 路飞学城-Python开发集训-第4章

    学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...

  7. 路飞学城-Python开发集训-第2章

    学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...

  8. 路飞学城-Python开发-第二章

    ''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...

  9. 路飞学城-Python开发-第三章

    # 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...

  10. 路飞学城-Python开发-第一章

    # 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...

随机推荐

  1. LOJ #2542 [PKUWC2018]随机游走 (概率期望、组合数学、子集和变换、Min-Max容斥)

    很好很有趣很神仙的题! 题目链接: https://loj.ac/problem/2542 题意: 请自行阅读 题解首先我们显然要求的是几个随机变量的最大值的期望(不是期望的最大值),然后这玩意很难求 ...

  2. Font Awesome使用方法

    Font Awesome(中文站点)是一套为Bootstrap而创造的图标字体库及CSS框架,在业界享有盛誉. FA包含了常规web开发所需要用到的几乎所有图标,并且免费授权使用,只需要下载即可.所有 ...

  3. mybatis使用-高级用法(二)

    新建学生表和学生证表 --学生表 CREATE TABLE student( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'id', `nam ...

  4. HDU - 1310 - Digital Roots

    先上题目: Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  5. 0926mysql join的原理

    转自 http://www.cnblogs.com/shengdimaya/p/7123069.html MySQL JOIN原理   先看一下实验的两张表: 表comments,总行数28856 表 ...

  6. Leading and Trailing

    You are given two integers: n and k, your task is to find the most significant three digits, and lea ...

  7. HDU 4906 Our happy ending (状压DP)

    HDU 4906 Our happy ending pid=4906" style="">题目链接 题意:给定n个数字,每一个数字能够是0-l,要选当中一些数字.然 ...

  8. unity游戏开发之NGUI的UISprite染色

    游戏的UI开发中常常会遇到染色问题.比如button失效变灰的效果,同一个道具通过策划表配的颜色值染上红绿蓝紫等颜色,效果例如以下 最笨最挫的方法当然是让美术多出几个资源图.这种一个缺点是浪费资源,在 ...

  9. Android.mk宏定义demo【转】

    本文转载自:http://blog.csdn.net/u010164190/article/details/72783963 1.Android.mk  LOCAL_PATH := $(call my ...

  10. bzoj5178: [Jsoi2011]棒棒糖

    就是裸的主席树嘛... 表扬一下自己1A #include<cstdio> #include<iostream> #include<cstring> #includ ...