如何在Django中加载和使用静态文件

如何在Django中加载和使用静态文件

静态文件,如图片、CSS或JS文件,通常在生产网站中通过不同的应用程序加载,以避免从同一服务器加载多个东西。这篇文章围绕着如何在Django中设置静态应用并从同一服务器上加载静态文件。

如何在Django中创建静态应用程序

让我们先创建一个新的项目,为此我们先创建一个虚拟环境。如果你还没有下载,请下载该软件包

pip install virtualenv
virtualenv geeks
geeks\Scripts\Activate

它将是这样的

如何在Django中加载和使用静态文件?

现在安装Django

pip install django

现在我们将创建一个名为 “checkstatic “的Django项目。

//django-admin startproject projectname (template code)
django-admin startproject  **checkstatic**

现在进入你的项目

对于windows系统,”cd checkstatic”

现在我们将为项目创建一个新的应用程序,名称为 “showstatic”。

//python3 manage.py startapp appname (template code)
python3 manage.py startapp showstatic

现在我们将在IDE中行走,我使用的是Visual studio代码,如果你使用的是相同的类型(代码.),在cmd中输入

我们要做的第一件事是在setting.py中,在第32行添加你的应用程序,像这样添加(你会从应用程序的apps.py文件中看到这个)。

INSTALLED_APPS = [
'showstatic.apps.ShowstaticConfig',
'django.contrib.admin',
'django.contrib.auth,
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

现在尝试运行一次服务器,以确认一切都在顺利进行。

python3 manage.py runserver

如果你看到这个页面,恭喜你成功迈出了第一步。

如何在Django中加载和使用静态文件?

现在我们在主文件夹(checkstatic)内创建一个静态文件夹,在那里我们将保存我们的静态文件。人们可以在静态文件夹中添加你的文件(pdf、图片、文本文件,或任何你想要的东西)。

文件夹结构 –

如何在Django中加载和使用静态文件?

现在你需要让Django知道你已经创建了一个静态文件夹,所以现在在settings.py文件中添加这一行。

在第121行下面 STATIC_URL = ‘/static/’

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

现在告诉django寻找你所添加的静态文件的位置,上面写道STATIC_URL = ‘/static/’

STATICFILES_DIRS = [
   os.path.join(BASE_DIR, 'checkstatic/static/')
]

现在我们将编写一个命令,从我们的项目中带来/收集所有的静态文件,并将其带到一个单一的文件夹中。

python manage.py collectstatic

如果一切正常的话,这就是它的样子,大部分文件都是来自于管理部门,我们不需要担心这个问题。

如何在Django中加载和使用静态文件?

在你的项目文件夹中,你会看到一个新的文件夹,名为 “静态”,而你的文件就在里面!!!”。

如何在Django中加载和使用静态文件?

如何在Django中加载和使用静态文件?

现在检查一下,只需在showstatic中创建 “templates “文件夹,并创建一个名为home.html的文件来查看我们的静态文件。

{% load static %}
<img src = "{% static 'logo.png' %}" height="200" width="200" class="d-inline-block align-top">
<br>
<h1>Hi its working</h1>

现在要查看这个页面,我们需要给它一个路由,所以现在只需在checkstatic的url.py中加入这个内容

from django.contrib import admin
from django.urls import path
from showstatic import views
urlpatterns = [
   path('admin/', admin.site.urls),
   path('',views.home,name='home'),
]

并在showstatic的views.py中加入以下内容

def home(request):
   return render(request,'home.html')

现在运行服务器,看到

python3 manage.py runserver

如何在Django中加载和使用静态文件?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Django 教程