def load_scheme(request): """ Reload schema from yaml file on POST request """ if request.method == 'GET': # maybe we have model with 'load_scheme' name return model_items(request, 'load_scheme') form = FileForm(request.POST, request.FILES) if form.is_valid(): creator = ModelsCreator(form.cleaned_data['upload_file'].file) creator.create_models() return HttpResponseRedirect(reverse('index'))
import io from django.conf import settings from django.conf.urls.defaults import patterns, include, url from django.contrib import admin from core.parsers import ModelsCreator admin.autodiscover() stream = io.open(settings.DYNAMIC_MODELS_FILE, encoding='utf-8') creator = ModelsCreator(stream) creator.create_models() urlpatterns = patterns('', # Examples: # url(r'^$', 'dynamic_models.views.home', name='home'), # url(r'^dynamic_models/', include('dynamic_models.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^$', 'core.views.index', name='index'), url(r'^admin/', include(admin.site.urls)), url(r'^load_schema/$', 'core.views.load_scheme', name='load_scheme'), url(r'^(?P<model_name>\w+)/$', 'core.views.model_items', name='get_model_items'), )