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

如何设置Django设置文件(2023年的最新答案)

时间:2023-03-06 17:09:40 网络应用技术

  简介:今天,首席CTO指出要与您分享有关如何设置Django设置文件的内容。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  设置路径变量

  app_path = os.path.dirname(os.path.dirname(__file__)))

  #

  绝对

  小路

  到

  这

  目录

  静止的

  文件

  应该

  是

  收藏

  到。

  #

  不

  放

  任何事物

  在

  这

  目录

  你自己;

  店铺

  你的

  静止的

  文件

  #

  在

  应用'

  “静止的/”

  子目录

  和

  在

  staticfiles_dirs。

  #

  注意修改static_root变量

  static_root

  =

  OS.Path.join(app_path,'static')。代替 ('\', '/')

  #

  URL

  字首

  deor

  静止的

  文件。

  #

  例子:

  ample.com/stative/”,

  “H

  ic.example.com/”

  static_url

  =

  '/静止的/'

  #

  当然,有staticfiles_dirs变量

  staticfiles_dirs

  =

  (((((

  #

  放

  字符串

  这里,

  喜欢

  “/home/html/static”

  订购

  “ C:/www/django/static”。

  #

  总是

  Unce

  向前

  斜线,

  甚至

  在

  视窗。

  #

  不

  忘记

  到

  Unce

  绝对

  路径,

  不是

  相对的

  路径。

  OS.Path.join(App_path,'Mobile_oa_server/static')。代替 ('\', '/'),

  治愈

  在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和其他文件显示与模板相对应的页面。

  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中收集静态文件

  编辑设置:

  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:

  我想将以前的ASP.NET网站移植到Django,并发现Django似乎得到了静态资源的支持。您无法根据相对路径直接找到某些配置,找到很多解决方案,并按以下方式进行整理:

  1. Django的静态资源配置与版本!InterSectionIntersectionRemember!InterSectionIntersection1.3先前和将来的配置不同!IntersectionSectionTrestection以下内容仅适用于Django1.9;

  2.安装在设置中

  应用

  包括'django.contrib.staticfiles';

  3. static_url in steratings.py是应用程序目录中静态文件所在的文件夹的相对路径。默认值为/静态/可以自定义;

  4.调用时使用以下表格:

  {%

  加载

  静止的

  %}

  IMG

  src =“ {%

  静止的

  “ my_app/myexample.jpg”

  %}“”

  alt =“ [#0#] [#1#]” //

  导入JS,IMG和其他静态文件后导入错误:

  文件

  “ D:python27libmimetypes.py”,“”

  线

  249,

  在

  enum_types

  CTYPE

  =

  ctype.encode(default_encoding)

  #

  忽略

  在

  3.x!

  Unicodecodeerror:

  'ascii'

  编解码器

  cant

  解码

  字节

  0xB0

  在

  姿势

  1:

  序数

  不是

  在

  范围(128)

  [27/dec/2015

  15:26:32]

  “得到

  /static/assets/img/nextpage_small_grey.jpg

  http/1.1”

  500

  59

  在python安装目录中的lib/site包装中添加文件sitecustomize.py,找到解决方案的密钥错误文件mimeTypes.py.py。

  进口

  系统

  sys.setdefaultencoding(“ CP1251”)

  我设置的编码格式是UTF-8,我不知道其他格式是否可以。Restart操作和成功。

  当使用django命令生成项目的基本结构时,配置信息将保留在settings.py文件中,以与项目目录同名目录的目录中。在实际开发中,对于一个项目,这通常是不合适的。将设置配置文件授予几个文件。将在线使用的文件放在base.py文件中,在product.py文件上的在线文件,开发测试文件放在devert.py fileessencethis函数部门中很明确,这对于我们的在线和离线调试非常方便。

  1)在同名项目中,创建一个设置包(目录中包含__init__.py的文件夹)。

  2)在设置软件包中创建三个新文件:public base base.py(用于配置django默认配置文件),develop.py(用于开发环境)和product.py(用于生产环境)。

  3)将原始设置的内容复制到base.py文件。

  4)确认目录确定后,我们需要在base.py中修改时区和语言配置:

  如果需要修改类似的公共零件,则可以在base.py(例如注册表应用程序)中修改它,这里没有示例。

  5)之后,对于不同的在线和离线零件,我们只能导入base.py模块并将其修改为不同零件。例如,在线和离线对接不同的测试数据库,我们可以修改数据库连接:

  6)修改Manage.py文件。使用自己的服务开始时,Django需要知道设置文件的路径。

  7)生产时,请使用asgi.py(在django3.x中)或wsgi.py(django2.x版本),您可以更改生产配置文件的路径:

  上述问题也有问题。如果在线和离线环境切换,我们需要更改代码,我们可以通过设置系统环境变量来动态获取它,以避免修改代码:

  这样,Django通过在系统环境变量中读取Lipin_profile来加载不同的设置文件。

  这可以删除原始设置.py文件!交叉

  但是会有一个问题。您会发现我们无法访问以前的好网页,也找不到模板!

  这是因为在先前的配置文件中,路径问题,因为我们的原始配置文件以同一名称为单位,现在我们被分为一个新软件包,因此我们需要转到第一级目录是我们需要的。

  结论:以上是有关如何为每个人设置的Django设置文件的相关内容答案。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?