我有一个文件,其内容取决于模型。奇怪的事情:更新模型的数据时,它不会直接影响该文件上的变量!我被迫重新启动我的开发服务器以获取新数据。
作为解决方案,我使用“重新加载”重新加载包含相关变量的模块!我认为这不是这样做的好方法(每次更新后重新加载)才能看到数据。
有什么方法可以直接更新和查看数据而无需重新加载?
这是我的代码: http: //pastebin.com/97BPqh0L我在重新加载部分有评论
# parametres/conf.py
from .models import ConfigApp
if ConfigApp.objects.exists():
config = ConfigApp.objects.all()[0]
else: config = None
EMPLOYE_BY_COMPAGNY = config.user_compagnie if config else 7
ANNONCES_LIFETIMES = config.annonce_days if config else None
IMAGE_SIZE = config.taille_image*1024 if config else 102400
#####################################################"
# compte/admin.py
from societe.models import Compagnie
from .forms import EmployeAdminForm,NewEmployeAdminForm
from django.contrib import admin
from django.contrib.auth.models import User,Group
import parametres.conf
class EmployeAdmin(admin.ModelAdmin):
list_display = ['user','identite','email','societe','is_active']
list_filter = ('is_active','societe')
form = NewEmployeAdminForm
search_fields = ("user__username",)
user_obj = None
def has_add_permission(self,request):
reload( parametres.conf) #here reloading
if request.user.is_superuser or request.user.groups.filter(name='admin').exists():
return True
elif request.user.groups.filter(name='client').exists():
if Gestionnaire.objects.filter(employe__user=request.user,is_active=True).exists():
employe = request.user.employe_set.all()[0]
if Employe.objects.filter(societe=employe.societe).count() >= parametres.conf.EMPLOYE_BY_COMPAGNY:
return False
return True
return False