加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用Django 1.7中的AppConfig ready方法在django启动时加载静态

发布时间:2020-12-20 13:46:16 所属栏目:Python 来源:网络整理
导读:我有一些静态位置数据要加载,以便它在整个应用程序中可用,如内存缓存. 我试图在AppConfig上覆盖ready()但是数据没有从数据库加载,而ready()也被调用了两次. from django.apps import AppConfigclass WebConfig(AppConfig): name = 'useraccount' verbose_nam
我有一些静态位置数据要加载,以便它在整个应用程序中可用,如内存缓存.

我试图在AppConfig上覆盖ready()但是数据没有从数据库加载,而ready()也被调用了两次.

from django.apps import AppConfig


class WebConfig(AppConfig):
    name = 'useraccount'
    verbose_name = 'User Accounts'
    locations = []

   def ready(self):
        print("Initialising...")
        location = self.get_model('Location')
        all_locations = location.objects.all()
        print(all_locations.count())
        self.locations = list(all_locations)

任何提示?

解决方法

为了加载app中的一些静态数据,为get数据创建一个单独的文件 //文件/app_util.py def get_country(): ????如果Student.objects.all().count == 0: ???????//你的代码 ????其他: ???????//你的代码 导入app_util并从url.py中调用它 //文件/url.py admin.autodiscover() urlpatterns = patterns(‘equity_funds_investor_app’,???????????????????????# 例子: ???????????????????????url(r’^ $’,’views.index’),??????????????????????) //调用save / get方法 app_util.get_country() 注意:当你想在你的应用程序开始时保存/获取一些数据时,你可以遵循相同的过程 当你在runserver之后发出第一个请求时,url.py文件只处理一次 并调用您的自定义函数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读