当前位置: 首页 > 网络应用技术

如何在Django模板页面中介绍静态(2023年的最新共享)

时间:2023-03-06 12:44:42 网络应用技术

  简介:许多朋友询问如何在Django模板页面中介绍静态。本文的首席CTO笔记开始为您的参考做出详细的答案。我希望这对每个人都会有所帮助!让我们一起看看!

  编辑设置:

  Media_root和Media_url表示用户上传的文件。它可以理解为存储可变文件的文件夹。

  这两个参数的用途是什么?

  在诸如Django的FileField和ImageField之类的模型类中,有upload_to参数可供选择。

  上传文件后,它将自动保存到:OS.Path.join(Media_root,upload_to)。在此示例中

  Media_url表示用户可以通过可以访问的URL访问这些上传的文件资源。

  在此示例中,该计算机的地址为:

  然后通过:文件名可以访问相关的上传图片或其他文件。

  static_root和static_url是网站上使用的静态图片,CSS,JS和其他文件的保存地址。可以理解,网站操作期间将不再更改文件的文件夹删除或添加)

  static_url,类似于Media_url;当setter_url为“/static/”时,通过:文件名可以访问相关的静态文件。

  static_root是一个相对特殊的文件夹。这是Django的开发模型与部署模型最不同的地方。

  通常,在开发模式下,我们可以在我们的项目下建立相应的应用程序,然后在每个应用程序下设置相应的静态文件夹。在DEBUG = true中,Django将自动为我们找到这些静态文件(每个应用程序)并在WebPage.ever,在部署模式下,Django认为这些任务更有效地由Web服务器运行。

  因此,部署时,我们需要运行:

  此命令将将每个应用程序中的文件复制到静态目录的文件为static_root文件夹。

  如果在部署模式下,(debug = false)访问相关的网页(例如:文件名,将无法访问django下的每个应用程序中的静态文件夹,而是在static_root中指定的文件夹。

  为了在部署模式下正确使用它,我们还需要将以下内容添加到URLS.PY:

  这相当于在“静态”开头的链接时告诉如何处理Django。

  理解上述内容后,让我们在前端显示图片。

  编写显示视图功能以传递动态图片:

  然后写show.html:

  参考如下

  如果该项目的目录是:

  我的网站:

  manage.py

  我的网站:

  __init__.py settings.py urls.py wsgi.py

  博客(已建立的应用程序):

  models.py views.py test.py __init__.py模板

  开始配置:

  1.在外部MySite目录中(即项目的根目录)

  2.打开设置。py并添加:

  导入操作系统

  static_url ='/static/'

  staticfiles_dirs =(

  

  (((((

  3.打开urls.py并添加(注意:如果在博客应用程序中新创建一个urls.py文件,则应将其添加到博客目录中的urls.py文件中。我曾经在此PIT中纠结许久):

  导入设置

  urlpatterns =模式(

  url(r'^static/(?ppath。*)$','django.views.static.serve',

  {'document_root':settings.static_root}),

  治愈

  使用:

  假设在模板中导入外部/home/fudaoji/mysite/js/jequery.js文件(存储在模板文件中),那么您可以直接直接可以直接为

  脚本类型=“ text/javascript” src ='https://www.shouxicto.com/stative/js/jqury.js'/javascript

  主要是以下内容:

  static_url ='/static/'

  static_root = os.path.join(base_dir,“ static”)

  staticfiles_dirs =(

  #将字符串放在这里,例如“/home/html/static”或“ c:/www/django/static”。

  #总是在Windows上使用前向Slasshes,事件。

  #不要忘记使用绝对路径,而不是相对路径。

  os.path.join(base_dir,“资产”),

  治愈

  设置中的设置.py:

  staticfiles_dirs

  =

  (((((

  “模板/静态”,

  治愈

  urls.py中的设置:

  url(r'^staticfiles/(?ppath。*)$','django.views.static.serve',{'document_root':settings.staticfiles_dirs,

  'show_indexes':

  真的}),

  HTML中的参考方法:

  关联

  href =“/staticfiles/css/test.css”

  rel =“ stylesheet”

  type =“ text/css”

  设置此之后,找到文件,但是将发生编码错误。错误是:

  C:python27libmimetypes.py

  在

  enum_types,

  线

  249

  我很长一段时间在互联网上找到了它,并找到了一种解决不正确代码的方法。

  添加

  重新加载(系统)

  sys.setdefaultencoding('gb18030')

  2. static_root:这是静态文件存储目录的配置。另一个角色是运行命令以收集静态文件(大约在命令的一部分),并最终收集并存储静态文件的位置。请注意,此配置仅在false中的debug =有效(生产环境)(关于稍后说话的原因)。

  4. staticfiles_dirs:在实际项目开发中,如果我们的静态文件存储在一个或多个目录中,则可以将列表定义为存储静态文件。Django的默认配置没有此配置。当项目下有一个或多个静态资源的目录时,它非常适合此定义。注意,只有当Debug = true时,此配置仅是有效的(开发环境)

  8.模板:定义HTML模板文件存储目录。如果使用Pycharm的IDE,则可以根据配置自动创建模板目录。Pycham将自动帮助我们配置。如果没有配置,您需要手动创建手动创建。当然,您也可以选择自定义此目录

  9. CollectStatic:在项目部署期间,我们还需要收集静态文件。如果您可以手动收集静态文件,则无疑的工程量很大,部署后,必须将调试更改为debug = false。将会有一个问题无法加载CSS。因此,在项目部署之前,需要此操作。

  django的django.contrib.staticfiles提供了收集静态文件的命令:python manage.py collectionstatic。执行命令后,将在配置的static_root中收集静态文件

  结论:以上是如何在首席CTO注释引入的Django模板页面中引入静态的全部内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住要收集对该网站的关注。