2017-09-02 80 views
0

我對靜態文件的一個瘋狂的問題在一個應用程序(Django的Autocomplete_Light,DAL)我使用實現形式自動完成靜態文件.. https://github.com/yourlabs/django-autocomplete-light/issues/907的Django - 應用程序在一個模板加載,而不是在另一個

我能夠在我的主頁中加載DAL表單,該表單正在擴展base.html。相同的DAL表單在擴展相同的base.html的另一個模板中不起作用。我的意思是,DAL JS文件不會在其他的模板裝..

字符串{{ form.media }}base.html jQuery的導入後,所要求的DAL的doc

可能是什麼問題?

這是不是在其他的模板裝:

<link href="/static/autocomplete_light/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" /> 
<link href="/static/autocomplete_light/select2.css" type="text/css" media="all" rel="stylesheet" /> 
<script type="text/javascript" src="/static/autocomplete_light/jquery.init.js"></script> 
<script type="text/javascript" src="/static/autocomplete_light/autocomplete.init.js"></script> 
<script type="text/javascript" src="/static/autocomplete_light/vendor/select2/dist/js/select2.full.js"></script> 
<script type="text/javascript" src="/static/autocomplete_light/select2.js"></script> 

編輯:

這是我base.html

{% load static %} 
{% load i18n %} 
{% load helper_tags %} 

<!doctype html> 
<html lang="it"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="x-ua-compatible" content="ie=edge"> 
    <title>MySoundList | {% block title %}Home Page{% endblock %}</title> 
    <meta name="description" content="MySoundList"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" type="text/css" media="all" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> 
    <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet"> 
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 

    {% block specific_css %}{% endblock %} 


    {% get_current_language as LANGUAGE_CODE %} 
    {% get_available_languages as languages %} 

    <link rel="alternate" hreflang="x-default" href="{% change_lang %}"> 

    {% for lang_code, lang_name in languages %} 
     <link rel="alternate" hreflang="{{ lang_code }}" href="{% change_lang lang_code %}"> 
    {% endfor %} 

    <link rel="stylesheet" type="text/css" href="{% static 'custom.css' %}" /> 

</head> 
<body> 
<!--[if lt IE 8]> 
    <p class="browserupgrade"> 
     You are using an <strong>outdated</strong> browser. 
     Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience. 
    </p> 
<![endif]--> 

<div class="MainWrapper"> 
    {% block content %} {% endblock %} 
</div> 

<script 
     src="https://code.jquery.com/jquery-3.1.1.min.js" 
     integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" 
     crossorigin="anonymous"></script> 
<script 
     src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" 
     integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" 
     crossorigin="anonymous"></script> 

{{ form.media }} 

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.bundle.min.js"></script> 

{% block specificjs %}{% endblock %} 

<link rel="stylesheet" type="text/css" href="{% static 'custom.css' %}" /> 

<script src="{% static 'custom.js' %}"></script> 

</body> 
</html> 

,這是在形式的頁面不工作:

{% extends 'base.html' %} 

{% load static %} 
{% load i18n %} 
{% load helper_tags %} 

{% block title %} 
    {{ djname }} 
{% endblock %} 

{% block content %} 

    <div> 
     {{ event_track_form }} 
    </div> 
{% endblock %} 
+0

你介意顯示'base.html'還是'other_template.html'? –

+0

嗨nik_m,我只是用實際代碼更新了我的Q. – davideghz

+0

嗯......好像你沒有在'other_template.html'裏面渲染'form'。當你渲染'base.html'時,你正在做correclty,但是當你渲染'other_template.html'時不會。每當顯示新的「視圖」時,您應該每次渲染'form'對象。 –

回答

0

在評論中討論的解決方案是將正確的form對象傳遞給模板。如果在視圖中將其定義爲form_whatever,則必須在模板中使用form_whatever.media

相關問題