2014-11-04 62 views
0

我正在Django中創建一個應用程序,除了一個模板,一切都很好。所有的模板加載任何問題的JavaScript和CSS文件,但有一個模板不會加載任何CSS或JS文件。 當我鍵入此模板的觀點我做一個錯字錯誤後,我修復它的模板將不會加載任何CSS或JS文件Django模板將不會加載CSS和JavaScript文件

UPDATE:視圖定義縮進 視圖

@permission_required('prov.views.configView',login_url='/login/') 
def MasterFormView(request): 
    form = MasterForm(request.POST or None) 
    if request.method == 'POST': 
     idp = request.POST['id_proveedor'] 
     a = request.POST['anio'] 
     m = request.POST['mes'] 
     id = Proveedor.objects.get(id_proveedor=idp) 
     obj,created = Master.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
     if form.is_valid(): 
      objdetrec,createddetrec = DetalleRecepcion.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      objdetcar,createddetcar = DetalleCargaArchivo.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      objdetcon,createddetcon = DetalleConci.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      objenvcon,createdenvcon = EnvioConci.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      objcer,createdcer = Certificado.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      objentcert,createdentcert = EntCertificado.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      objacepta,createdacepta = AceptCertificado.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      objrepro,createdrepro = Reproceso.objects.get_or_create(id_proveedor=id,anio=a,mes=m) 
      return HttpResponseRedirect('/monitor/') 

     if not created: 
      obj.id_proveedor = id 
      obj.anio = a 
      obj.mes = m 
      #----------------------------- 
      objdetrec.id_proveedor = id 
      objdetrec.anio = a 
      objdetrec.mes = m 
      #---------------------------- 
      objdetcar.id_proveedor = id 
      objdetcar.anio = a 
      objdetcar.mes = m 
      #---------------------------- 
      objdetcon.id_proveedor = id 
      objdetcon.anio = a 
      objdetcon.mes = m 
      #---------------------------- 
      objenvcon.id_proveedor = id 
      objenvcon.anio = a 
      objenvcon.mes = m 
      #---------------------------- 
      objcer.id_proveedor = id 
      objcer.anio = a 
      objcer.mes = m 
      #---------------------------- 
      objentcert.id_proveedor = id 
      objentcert.anio = a 
      objentcert.mes = m 
      #---------------------------- 
      objacepta.id_proveedor = id 
      objacepta.anio = a 
      objacepta.mes = m 
      #---------------------------- 
      objrepro.id_proveedor = id 
      objrepro.anio = a 
      objrepro.mes = m 
      #---------------------------- 
      obj.save() 
      objdetrec.save() 
      objdetcar.save() 
      objdetcon.save() 
      objenvcon.save() 
      objcer.save() 
      objentcert.save() 
      objacepta.ave() 
      objrepro.save() 
      return HttpResponseRedirect('/monitor/') 
    return render_to_response('masterform.html', 
           {'form':form}) 

形式:

class MasterForm(forms.ModelForm): 
     def __init__(self,*args,**kwargs): 
     super(MasterForm,self).__init__(*args,**kwargs) 
     self.helper = FormHelper(self) 
     self.helper.layout.append(Submit('save','Grabar')) 
     self.helper.layout = Layout(
     Fieldset('', 
       'id_proveedor', 
       'anio', 
       'mes', 
       Submit('save','Grabar'), 
       ) 
     ) 

     class Meta: 
     model = Master 

網址:

url(r'^masterform/$', 'prov.views.MasterFormView',name='masterform'), 

表單更新指定的所有模型並且正常工作,但沒有樣式或JS函數。

我不知道爲什麼所有其他模板都可以加載css文件,而且這個表格不需要 任何人都有同樣的問題或任何想法如何解決這個問題。

PD:在Firebug的錯誤是 「找不到網頁」

更新增加的HTML模板代碼 masterform.html

{% extends 'base.html' %} 
{% load crispy_forms_tags %} 

{% block content %} 
<div class="container"> 
<div class="col-sm-4" 
<form method='POST' action='' class='form'> 
    <div class="form-group"> 
     {% csrf_token %} 
     {% crispy form %} 
    </div> 
</form> 
</div> 
</div> 
{% endblock %} 

base.html文件

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 
    <link rel="icon" href="../../favicon.ico"> 
    <title>Proveedores de Contenido</title> 

    <!-- Bootstrap core CSS --> 
    <link href="{{STATIC_URL|default:"/static/"}}admin/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="{{STATIC_URL|default:"/static/"}}admin/css/custom.css" rel="stylesheet"> 
    <link href="{{STATIC_URL|default:"/static/"}}admin/css/jquery.dataTables.css" rel="stylesheet"> 
    <link href="{{STATIC_URL|default:"/static/"}}admin/css/customtable.css" rel="stylesheet"> 
    <link href="{{STATIC_URL|default:"/static/"}}admin/css/bootstrap-theme.min.css" rel="stylesheet"> 

    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 
    <script src="{{STATIC_URL|default:"/static/"}}admin/js/bootstrap.js"></script> 
    <!-- script type="text/javascript" src="/static/admin/js/jquery-1.11.1.min.js"></script --> 
    <script src="{{STATIC_URL|default:"/static/"}}admin/js/jquery.dataTables.js"></script> 
    <script src="{{STATIC_URL|default:"/static/"}}admin/js/dataTables.bootstrap.js"></script> 
    </head> 

<body> 
{% block content %}{% endblock %} 
{% include 'footer.html'%} 

    </body> 
</html> 

當我創建viwe時,表單和模板工作正常,並加載每個css和js文件。 後來我做了一個改變,並意外地輸錯了一些詞。修復了錯字錯誤之後,模板將不會加載我的CSS和js文件。 但表格工作正常,只有沒有風格。 我想在重寫所有(視圖,窗體,htmltemplates和更改url),看看是否有一些損壞的文件或配置

回答

0

這似乎是你重定向到masterform.html。這是加載CSS和JavaScript的地方。

編輯:

的文件不能被發現,因爲你沒有正確的設置:

對於應用: STATIC_URL = '/static/'

對於prodject:STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), '/var/www/static/', )

添加這兩個設置到您的設置文件,不要忘記加載它們: {% load staticfiles %}

位於所有html文件的頂部。

然後,你將不再需要你的了只使用{{ STATIC_URL}}

Manage static files

建議:

做一個{%block exta_head %} {% endblock %} 內的主模板,你讓你的擴展模板可以添加有自己的文件。

+0

我縮進代碼,我仍然無法加載css或js文件。請參閱更新 – Joseleg 2014-11-04 23:50:22

+0

您可以發佈您的masterform.html。在html文件的頭部應該有鏈接到js文件和css文件 – Persijn 2014-11-05 09:28:06

+0

我添加了兩個模板masterform.html和base.html的定義。主表單模板擴展了基本模板 – Joseleg 2014-11-05 15:13:42