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

Django修改设置后如何生效(2023年的最新答案)

时间:2023-03-08 20:10:58 网络应用技术

  简介:今天,首席CTO Note将与您分享如何在Django修改设置之后生效如何生效。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!

  django处理静态文件

  静态文件是指JS CSS和图片。配置方法如下

  1.在设置中

  然后设置static_url

  static_url ='/static/'

  2.模板中的使用方式如下

  {%加载staticfiles%}

  

  该方法提供了一个相对路径。当您将环境切换到CDN时,它将更加方便

  当然,您也可以使用简单的方法直接提供静态文件的URL,但是您必须在CDN中对其进行修改以使用它

  /statac/my_app/myexample.jpg

  3.例如,将文件放在文件夹下

  my_app/static/my_app/myimage.jpg

  注意:调试设置为真

  当调试设置为FALES时,设置方法如下(添加静态文件URL,使用django.contrib.staticfiles.views.serveserver()查找静态文件):

  来自django.conf导入设置

  来自django.conf.orks.Static Import static

  urlpatterns = [

  #...您的其余urlconf去了这里...

  ] + static(settings.static_url,document_root = settings.static_root)

  注意:不建议在实际环境中使用

  当您具有多个静态文件目录时,可以使用以下方法设置staticfiles_ders:

  staticfiles_dirs = [[[

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

  '/var/www/static/',

  这是给予的

  注意:Django找到一个静态文件,默认情况下找到一个。

  部署步骤:

  1.设置static_root:

  static_root =“/var/www/example.com/stative/”“”

  2.执行collectstatic命令:

  $ python manage.py collectstatic

  这将将静态文件复制到您设置的static_root目录(这样,它可以更方便地与Nignx集成,并且权限管理更方便)

  如果我不了解错误,这是非常基本的。它可以在Python教程中提供。因此,我认为您不应该熟悉Django。在其官方网站上查看教程。看完之后。

  简而言之,Django可以通过设置模型以获取数据库数据来轻松获取数据库的数据。也可以通过class.objects.s.all的方法获得。您也可以使用get and Filter。获取数据后,它存在于模型中的对象中。然后将此变量传递给模板。该变量在模板中显示在HTML中。

  HTML通过HTTPresponse之类的对象返回到浏览器。

  还有一种稍微简洁的方法,但是原理是相同的。其中有一个形式对象,可以简化模板的使用并使变速箱变量更容易,但是进行模型更为复杂。

  提供一个想法。我没有尝试过,我不知道它是否可行。

  将表的抽象结构定义为模型,但请记住添加

  元类:

  摘要= true

  好吧,您将获得模型的抽象类。当SynCDB时,不会构建抽象类。

  然后,编写一个根据日期动态生成动态类的东西。例如,您的抽象称为myModel。

  def gen_model_by_date(dt = none):

  如果DT没有:

  dt = dateTime.dateTime.today()

  new_model_name ='mymodel_ {d}'。格式(d = dt.strftime('%y%m%d'))

  new_model = type(new_model_name,(mymodel,),{}),{})

  返回new_model

  然后,在此表的所有逻辑中,此方法用于替换原始模型。

  Django代码应由此决定。

  我们都知道,Django中的模型设计通常具有两个常用的现场创建时间和修改时间。这两个字段的定义是:

  一般而言,当您修改此表的数据时,修改时间将会更改,但是我遇到的情况即使您修改了此数据的内容,修改时间也没有更改。

  问题解决了:

  有两种修改和更新的方法

  1)保存

  修改模型类对象的属性,然后执行save()方法

  2)更新

  使用模型类.objects.filter()。更新(),将返回受影响的行的数量

  修改和更新的第一种方法是触发更新时间更新时间的更新时间。

  因此,如果您更新的数据不会触发更新时间,请检查第二种方法是否用于替换第一个修改方法。

  解决:

  如果要使用更新方法修改多个数据并触发更新时间的剪辑,则可以执行此操作:

  添加修改数据,并将修改时间字段修改为当前时间。

  结论:以上是CTO主要CTO的所有内容有关在Django修改设置之后如何生效的内容。我希望这对每个人都会有所帮助。如果您想了解更多有关此信息的信息,请记住收集并关注此网站。