如何在 Django 中加载和使用静态文件?
静态文件(例如图像、CSS 或 JS 文件)通常通过生产网站中的不同应用程序加载,以避免从同一服务器加载多个内容。本文围绕如何在 Django 和服务器静态文件中设置静态应用程序展开。
如何在 Django 中创建静态应用程序?
让我们先创建一个新项目,让我们先创建一个虚拟环境。如果您还没有下载软件包,请下载它
pip install virtualenv
virtualenv geeks
geeks\Scripts\Activate
这就是它的外观
现在安装 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,如果您在 cmd 中使用相同的类型(代码 .),我将使用 Visual Studio 代码
我们要做的第一件事是在 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',
]
现在尝试一次RUNSERVER,以确认一切工作顺利
python3 manage.py runserver
如果您看到此页面,恭喜您成功迈出了第一步
现在我们在主文件夹(checkstatic)中创建一个静态文件夹,我们将在其中保存我们的静态文件。您可以在静态文件夹中添加您的文件(pdf、图像、文本文件或任何您想要的文件)。
文件夹结构——
现在你需要让 Django 知道你已经创建了一个静态文件夹,所以现在在settings.py 文件中添加这一行,
在 STATIC_URL 下方的第 121行 = '/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
如果一切正常,这就是它的外观,大多数文件来自管理员,我们无需担心,
在您的项目文件夹中,您将看到添加了一个名为“static”的新文件夹,您的文件就在其中!!
如何在 Django 中加载和使用静态文件?
现在检查只在showstatic中创建“templates”文件夹并创建一个文件名home.html来查看我们的静态文件
{% load static %}
Hi its working
现在要查看这个页面,我们需要给它一个路由,所以现在只需在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