staticfiles

天天生鲜Django项目——①项目建立及前期步骤

半腔热情 提交于 2021-01-18 06:53:34
b站视频连接: https://www.bilibili.com/video/av41733850/ 视频所用django1.8版本,但本人使用django2.2,故写下这篇文章记录所遇错误及步骤。 虚拟环境建立:mkvirtualenv 虚拟环境名 #虚拟环境一般自动生成在C:\Users\电脑用户名\Envs目录中,如需自定义设置详情看此篇文章: https://blog.csdn.net/godot06/article/details/81079064 整体机构: 创建项目:django-admin startproject 项目名 创建每个项目中的模块:python manage.py startapp 名称 设置settings文件:修改所需要的数据库 静态文件目录 模板目录 1 # BASE_DIR绝对路径 2 sys.path.insert(0,os.path.join(BASE_DIR, ' apps/ ' )) 3 ...... 4 5 6 INSTALLED_APPS = [ 7 ' django.contrib.admin ' , 8 ' django.contrib.auth ' , 9 ' django.contrib.contenttypes ' , 10 ' django.contrib.sessions ' , 11 ' django.contrib

Django日记—适配static目录下的文件

时光总嘲笑我的痴心妄想 提交于 2020-08-15 04:47:42
一、设置setting.py文件 # 设置图片/html/css等静态文件的路径 STATIC_URL = '/static/' STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static') STATICFILES_DIRS = ( ('css', os.path.join(STATIC_ROOT, 'css').replace('\\', '/')), ('js', os.path.join(STATIC_ROOT, 'js').replace('\\', '/')), ('images', os.path.join(STATIC_ROOT, 'images').replace('\\', '/')), ('upload', os.path.join(STATIC_ROOT, 'upload').replace('\\', '/')), ) 二、设置urls.py文件 1.在文件首行加入 from django.contrib.staticfiles.urls import staticfiles_urlpatterns 2.在urlpatterns变量定义的后面加上 urlpatterns += staticfiles_urlpatterns() 如果程序报错,原因是urlpatterns定义的是一个集合

.NET Core ResponseCache【缓存篇(一)】

喜夏-厌秋 提交于 2020-08-10 21:54:24
一、前言    源码    1、最近一直在看项目性能优化方式,俗话说的好项目优化第一步那当然是添加缓存,我们的项目之所以卡的和鬼一样,要么就是你的代码循环查询数据库(这个之前在我们的项目中经常出现,现在慢慢在修正)或者代码做了很多不该做的事情。这个时候就可以引入我们的缓存了。(只要你的代码不是写的特别差,比如之前实习的我)。   2、缓存主要分为两种 客户端(浏览器缓存)、服务端缓存。 当我们的数据不需要及时返回的时候,可以考虑将页面缓存到客户的浏览器中进行保存,在一定的时间内访问直接读取浏览器缓存的信息。我们通过设置HTTP的响应头 Cache-Control 来完成页面存储到浏览器缓存中如下所示: 二、客户端(浏览器缓存)   1、在老的版本的MVC里面,有一种可以缓存视图的特性 (OutputCache) ,可以保持同一个参数的请求,在N段时间内,直接从mvc的缓存中读取,不去走视图的逻辑。 // 老版本的.NET 做法 [OutputCache(Duration = 20 )] // 设置过期时间为20秒 public ActionResult ExampleCacheAction() { var time=DateTime.Now.ToString( " yyyy年MM月dd日 HH时mm分ss秒 " ); ViewBag.time = time; return View

ASP.NET Core静态文件处理源码探究

别来无恙 提交于 2020-08-07 16:44:36
前言 静态文件(如 HTML、CSS、图像和 JavaScript)等是Web程序的重要组成部分。传统的ASP.NET项目一般都是部署在IIS上,IIS是一个功能非常强大的服务器平台,可以直接处理接收到的静态文件处理而不需要经过应用程序池处理,所以很多情况下对于静态文件的处理程序本身是无感知的。ASP.NET Core则不同,作为Server的Kestrel服务是宿主到程序上的,由宿主运行程序启动Server然后可以监听请求,所以通过程序我们直接可以处理静态文件相关。静态文件默认存储到项目的wwwroot目录中,当然我们也可以自定义任意目录去处理静态文件。总之,在ASP.NET Core我们可以处理静态文件相关的请求。 StaticFile三剑客 通常我们在说道静态文件相关的时候会涉及到三个话题分别是启用静态文件、默认静态页面、静态文件目录浏览,在ASP.NET Core分别是通过UseStaticFiles、UseDefaultFiles、UseDirectoryBrowser三个中间件去处理。只有配置了相关中间件才能去操作对应的处理,相信大家对这种操作已经很熟了。静态文件操作相关的源码都位于GitHub aspnetcore仓库中的 https://github.com/dotnet/aspnetcore/tree/v3.1.6/src/Middleware

Django-compressor压缩静态文件,逆天!!!!!

ⅰ亾dé卋堺 提交于 2020-08-07 12:34:44
使用django-compressor压缩混淆静态文件 使用django-compressor压缩混淆静态文件 使用 django-compressor 压缩混淆静态文件 django-compressor 可以把 js/css 等静态文件压缩,这样有利于减少网站的请求次数,还能节省网络带宽。 下面介绍下如何在 django 中集成 django-compressor 安装django-compressor 安装很简单, pip 安装下就可以了: pip install django-compressor 然后在'setting'的 INSTALLED_APPS 中添加 INSTALLED_APPS = [ #other 'compressor' ] setting配置 首先确保 django.contrib.staticfiles 已经包含在 INSTALLED_APPS 中,django1.6及以上版本是默认包含该app在其中的. 指定STATIC_URL STATIC_ROOT = os . path . join ( SITE_ROOT , 'collectedstatic' ) STATIC_URL = '/static/' STATICFILES = os . path . join ( BASE_DIR , 'static' ) STATIC

Django基础(一)-web框架

☆樱花仙子☆ 提交于 2020-05-02 04:32:27
一、简单web框架 WSGI:Web Server Gateway Interface 一个简单的web框架: step1: #!/usr/bin/env python # -*- coding: utf-8 -*- from wsgiref.simple_server import make_server def application(environ,start_response): start_response("200 OK",[("Content-Type","text/html")]) return [b'<h1>Hello,web!!</h1>'] httpd=make_server("",8080,application) print("Serving HTTP on port 8080....") #开始监听http请求 httpd.serve_forever() 注意: 整个application()函数本身没有涉及到任何解析HTTP的部分,也就是说,底层代码不需要我们自己编写,我们只负责在更高层次上考虑如何响应请求就可以了。 application()函数必须由WSGI服务器来调用。有很多符合WSGI规范的服务器,我们可以挑选一个来用。 Python内置了一个WSGI服务器,这个模块叫wsgiref application(

Django---定义、MVC和MTV模式、命令行工具、配置文件settings

血红的双手。 提交于 2020-05-02 03:09:43
1、什么是web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演。 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。 如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。 正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口,让我们专心用Python编写Web业务。 这个接口就是WSGI:Web Server Gateway Interface。 2、MVC和MTV模式 著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。 模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C

python:Django 简介。

故事扮演 提交于 2020-05-02 02:03:26
  Django是基Python的重要WEB框架。   1、安装Django Web框架   安装 pip 安装   在命令行模式 执行 【pip install django == 2.0】或者 【pip install django】 即可   2、创建Django项目   django-admin startproject demo # 创建了一个 名为demo的django项目 目录如下      目录文件说明: 在 命令行界[Django的当前目录]面输入 python manage.py runserver 即可启动此项目 备注:如果想更换端口,可以使用 python manage.py runserver 端口号 可以在浏览器中输入127.0.0.1:8000/admin即可看到Django的界面。 3、创建Django中的应用   在Django项目中,推荐使用APP来完成不能模块的任务执行 :python manage.py startapp 应用名即可新建一个应用,目录如下。 4、Django里面的配置文件 详细介绍 在设置 CSS,JS.imager 时,需要在set中设置 目录,不然,JS,CSS,不能正常导入。 # 应用下新建了一个statics 包,这个包下,包含了3个文件夹,CSS,images,js. STATIC_URL = ' /Tbook

Django开发文档-域用户集成登录

旧巷老猫 提交于 2020-04-24 02:00:55
项目概述: 一般在企业中,用户以WINDOWS的域用户统一的管理,所以以Django快速开发的应用,不得不集成AD域登录。 网上一般采用django-python3-ldap的库来做集成登录,但是本方案中需要同时使用域用户登录以及站点用户登录的功能。所以我们直接改写django的ModelBackend类以及User类来实现。 实现功能 : User表中增加一个 是否是域用户的字段,如果登录用户是域用户则采用ldap认证,如果不是域用户还采用Django本身的验证。 实现分析: 一、User表中如何增加字段 Django的auth_user表的字段是由django.contrib.auth.models中的User类控制的。 # Django源码 class User(AbstractUser): """ Users within the Django authentication system are represented by this model. Username and password are required. Other fields are optional. """ class Meta(AbstractUser.Meta): swappable = ' AUTH_USER_MODEL ' 我们需要对User类进行改写来实现增加字段的功能 步骤一

Django开发文档-域用户集成登录

♀尐吖头ヾ 提交于 2020-04-23 23:02:01
项目概述: 一般在企业中,用户以WINDOWS的域用户统一的管理,所以以Django快速开发的应用,不得不集成AD域登录。 网上一般采用django-python3-ldap的库来做集成登录,但是本方案中需要同时使用域用户登录以及站点用户登录的功能。所以我们直接改写django的ModelBackend类以及User类来实现。 实现功能 : User表中增加一个 是否是域用户的字段,如果登录用户是域用户则采用ldap认证,如果不是域用户还采用Django本身的验证。 实现分析: 一、User表中如何增加字段 Django的auth_user表的字段是由django.contrib.auth.models中的User类控制的。 # Django源码 class User(AbstractUser): """ Users within the Django authentication system are represented by this model. Username and password are required. Other fields are optional. """ class Meta(AbstractUser.Meta): swappable = ' AUTH_USER_MODEL ' 我们需要对User类进行改写来实现增加字段的功能 步骤一