Değiştirilmiş inspectdb'den sonra, web'deki dizin sayfası yüklendiğinde onu çalıştırmak istiyorum. Yani, benim view.py içinde - def endeksi, Özür sonraki yapmaya çalışıyor: çalışmıyor YaniSunucuda dosyaları geçersiz kılmak için harici komut (Django) nasıl çalıştırılır?
def index(request):
subprocess.Popen("rm /path/app/models.py", shell=True)
subprocess.Popen("python2.7 /path/manage.py inspectdb_New > /path/app/models.py", shell=True)
return render_to_response('index/index.html', context_instance = RequestContext(request))
. Os.system, subprocess.call ile de denedim, ama hala çalışmıyor. Benim için en azından, yürütme zamanında models.py değiştiremiyorum gibi görünüyor ama sorun ne olabilir bilmiyorum ...
Herhangi bir fikir çocuklar?
Teşekkürler.
Gerçekten emin değilim. Bence sunucu her kısa sürede modele danışıyor. Şimdi çalışıyorum: subprocess.Popen ("python2.7 /path/manage.py inspectdb> /path/app/models1.py", shell = True) alt işlem.Popen ("mv/yol/models1. py /path/models.py ", shell = True) Ve bu bazen çalışıyor. Sunucu modelleri danışmanlık yaparken ve harici komut aynı anda üzerine yazılırsa, web çöküyor ve modeller bitiyor, ama başka zamanlarda çalışıyor (yeniden tahmin etme, sunucunun danışmanlığıyla uyuşmadığı zaman ...) –
Hayır Modeller sadece başlangıçta yüklenir. Belki de neyi başarmak istediğini açıklıyorsun. Muhtemelen daha iyi/daha kolay bir çözüm var. – ilse2005
Birisi ddbb'yi değiştirdiğinde (tabloları silme, ekleme, değiştirme, ...) her zaman modelleri güncellemek istiyorum ve bu değişiklikler web'de yansıtılacaktır (web her zaman başlatılır) –