2009-12-23 5 views
0

Dans l'environnement de développement, les fichiers statiques sont correctement diffusés tant que le modèle d'URL est limité à un répertoire. Les sous-répertoires perdent le CSS. Par exemple, les processus css pour le modèle ci-joint à l'adresse suivante:Problème de diffusion des fichiers statiques dans les sous-répertoires

// localhost: 8000/créer/

cependant ceci:

// localhost: 8000/modifier/0/

ne fournira pas le CSS même si c'est le même modèle.

le code url.py est la suivante:

site_media = os.path.join( 
    os.path.dirname(__file__), 'site_media' 
) 

et

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
{ 'document_root': site_media }), 

le code de la vue est:

def edit_record(request, id): 
     if request.method == 'POST': 
       a=ProjectRecord.objects.get(pk=id) 
       form = RecordForm(request.POST, instance=a) 
       if form.is_valid(): 
         form.save() 
         return HttpResponseRedirect('/') 
     else: 
       a=ProjectRecord.objects.get(pk=id) 
       form = RecordForm(instance=a) 
     return render_to_response('productionModulewire.html', {'form': form}) 

suis-je manque quelque chose?

Répondre

0

Tout ce que je peux penser ici est que votre modèle utilise des chemins relatifs pour inclure le CSS.

vérifier votre <link rel="stylesheet" et assurez-vous qu'ils commencent par un/(ou sont une URL complète)

+0

merci. changé "../site_media" en "/../site_media" et le problème a disparu. – kjarsenal

+0

Je pense que "/../ site_media" 'dans une URL traduit (ou devrait traduire) en' "/ site_media" ', vrai? Autrement, le serveur est extrêmement vulnérable à toutes sortes d'attaques «par-dessus et dans le fichier de mot de passe». –

+0

en effet, vous devriez probablement utiliser/site_media – Mez

Questions connexes