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

djangostatic在哪里(Django部署)

时间:2023-03-07 12:20:19 网络应用技术

  本文的首席执行官注释将介绍Djangostatic和Django部署的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  本文目录清单:

  1. Django静态文件路径问题2.为什么Django配置静态3,Python - Django项目开发:配置项目/静态/路径,调用静态文件,例如CSS,IMG,JS等。4。DJANGO静态文件和动态文件5,设置静态的djangohow可能是浏览器的缓存。

  按住CTRL+F5,强迫浏览器刷新CS和JS文件...

  如果它不起作用,请从Django从入口到熟练程度来找到它。有解决方案吗?

  如果您只是使用静态,则配置将比媒体少一个步骤,并且将比较以下内容。当它到达静态时,您必须不得不谈论Django的开发环境和部署环境之间的区别。django配置文件设置.py调试变量是主要区别。debug = true表示,在开发环境(调试模式)下,在开发环境下(调试模式),调试模式,调试= false),相反,它用于正式部署环境中。两个,例如缓存,错误信息的方式等以及今天的静态文件的处理方法。开发环境中的静态文件由Django随附的Web服务器处理(这将是更多方面)。如果调试设置为false,则Web服务器带有Django自然不会处理静态文件。静态文件已移交给NGINX,可以处理Apache(这将更有效)。

  让我们谈谈开发环境中静态配置的方式。

  这次,我主要使用Django版本1.4版本对其进行配置。必须提前声明这一点,因为1.4之后,Django的项目结构发生了很大变化。如果将以下配置方法放在Django 1.3上,则绝对不合适,值得注意。StaitC配置仅在settings.py中进行。

  调试= true

  这种设置环境在开发环境中。

  然后自己构建一个可变site_root。该变量不是必需的,但是为了重复使用,可以随机使用该名称。

  导入操作系统

  sit_root = os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')

  变量值项的根目录是settings.py的存储位置。

  然后将值分配给静态文件变量,告诉Django,静态文件在哪里

  static_root = os.path.join(site_root,'static')

  说到哪个,我应该谈论项目文件结构。例如,这很容易让人,这段时间的项目结构如下:

  我的项目

  - - 我的项目

  ----------__init__.py

  --------设置

  -------- urls.py

  -------- wsgi.py

  - - 博客

  ----------__init__.py

  --------模型

  --------视频

  ------- test.py

  - - 静止的

  -------- CSS

  -------------- style.css

  -------- JS

  ------------------- jQuery.js

  - - - - 图片

  --------------------我JPG

  - - 媒体

  --------上传

  注意项目的结构,您会发现Site_root是

  我的项目

  - - 我的项目

  路径。

  static_root是

  我的项目

  - - 媒体

  路径。

  好的,然后配置说

  static_url ='/static/'

  模板中使用的静态文件URL的后缀。

  最后一个关键部分是staticfiles_dirs配置以下

  staticfiles_dirs =(

  (“ css”,os.path.join(static_root,'css')),),),),),),

  (“ JS”,OS.Path.Join(static_root,'js'),

  (“图像”,os.path.join(static_root,'images'),),

  治愈

  简而言之,静态文件夹在项目中使用了三个CSS JS Images文件夹(请参阅项目结构)。他们的道路是:

  os.path.join(static_root,'css'),os.path.join(static_root,'js'),os.path.join(static_root,'images');

  我们给了他们三个别名CSS,JS,图像(您可以随意给出它,但是为了简单的记忆,我们的原始名称指定别名)

  此时,Staitc已完成,并且无需在URLS.PY中配置相关内容。Django将自动找到分析静态文件的正确途径。与媒体相比,配置中的一步也要少。

  配置后,您可以在模板中正常使用静态文件。如何使用?请使用模板说明。

  呢Doctype HTML

  html lang =“ zh-cn”

  头

  meta charset = utf-8

  titlestaitc示例/标题

  链接rel =“ stylesheet” type =“ text/css” href =” https://www.shouxicto.com/article/ {{static_url}} css/style.css/style.css“媒体”媒体=“屏幕” //

  脚本类型=“ text/javascript” src =“ https://www.shouxicto.com/article/ {{static_url}} js/jquery.js”/script

  /头

  身体

  img src =“ https://www.shouxicto.com/article/ {{static_url}} images/me.jpg”“ alt =” [#0#]

  /身体

  /html

  注意{{static_url}}是在设置中使用static_url变量,然后分析:/static/。

  {{static_url}} css/style.css最终解析了我们想要的内容:/static/css/style.css,django将根据配置文件找到相应的文件。

  结束时,让我们谈谈如何建立正式的部署环境:

  调试= false

  首先将调试设置为false,将DJANGO环境视为正式的非示例模式,然后Django将不再单独处理静态页面。最后,将静态文件移交给nginx apache进行处理。

  讨论NGINX如何正确分析静态文件。在服务器中添加本地静态文件处理

  位置 /静态 / {

  root/home/www-data/twogoo/myproject/;

  }

  还有一个容易犯错误的地方,这是路径。一些学生经常指定这样的路径:/home/www-data/twogoo/myproject/staitc/;因此,nginx不应该找到静态文件,因为nginx将运行// home/www-data/twogoo/myproject/staitc/staitc/找到它。请注意,在静态文件处理中,您会更加顺畅。

  在Django项目的开发中,就像普通的Web开发一样,不可能通过“ IMGS/BG.JPG”访问本地静态文件。有必要进行一些配置以实现静态文件访问。

  首先,在项目根路径下创建一个新的静态文件夹,然后在静态文件夹下创建相应的CSS,IMGS,JS和其他文件夹,以存储静态文件,例如CSS,IMG,JS。

  第二,项目配置

  1.打开settings.py并将其添加到底部:

  2.打开urls.py并将其添加到urlpatterns :(注意,如果您还将urls.py设置在博客目录中,则必须在blog/urls.py中进行修改。不要忘记导入设置):

  (但是在测量之后,我可以完成静态文件的访问,而无需添加此文件)

  3.在HTML模板的顶部添加:

  然后以这种格式调用您需要的格式,例如:

  最终重新运行该项目,Django可以找到本地静态文件,例如IMG。目前,可以使用IMG和其他文件显示与模板相对应的页面。

  编辑设置:

  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:

  主要是以下内容:

  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,“资产”),

  治愈

  结论:以上是首席CTO的所有内容都注明了Djangostatic所在地点。感谢您的时间阅读此网站。我希望这对您有帮助。有关Django部署的更多相关内容,Djangostatic是在此站点上忘记的信息。