【问题标题】:django 1.6.2 : CSS not extending to child templatesdjango 1.6.2:CSS 没有扩展到子模板
【发布时间】:2014-07-05 06:54:11
【问题描述】:

我对此有疑问。我非常感谢您的帮助。我的base.html 有一个{% block content %}{% endblock %}。我制作了一个如下所示的 Signup.html:

{%extends 'base.html'%}

{% block content %}
    <h1>Join now</h1>
        <form method='POST' action=''>{% csrf_token%}
            {{form.as_p}}    
            <input type='submit' class= 'btn btn-success btn-block'>
        </form>
{% endblock %}

base.html 有一些 css 链接在我启动 Signup.html 时可以正常工作。然后我创建了一个thankyou.html,它以与Signup.html 相同的方式扩展base.html

{% extends "base.html" %}
{% load staticfiles %}

    <!-- Bootstrap core CSS -->
    <link href="{%static "css/bootstrap.min.css"  rel="stylesheet"%}"/>

    <!-- Custom styles for this template -->
    <link href="{%static "css/jumbotron.css" rel="stylesheet"%}"/>

    <!-- Custom CSS -->
    <link href="{%static "css/custom.css"  rel="stylesheet"%}"/> 

{% block side %}

<h4>Thank you for joining!</h4>

{% endblock %}

但它没有显示任何 CSS,它是纯 HTML。

这里是urls.py

from django.conf.urls import patterns, include, url

from django.conf import settings
from django.conf.urls.static import static


from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    url(r'^$', 'signups.views.home', name='home'),

    # url(r'^blog/', include('blog.urls')),
    url(r'^thank-you/$', 'signups.views.thankyou', name='thankyou'),
    url(r'^admin/', include(admin.site.urls)),
)

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL,
                          document_root= settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL,
                          document_root= settings.MEDIA_ROOT)  

我的views.py

from .forms import SignUpForm

def home(request):

    form = SignUpForm(request.POST or None)
    if form.is_valid():
        save_it = form.save(commit = False)
        save_it.save()
        messages.success(request, 'We will be in touch')
        return HttpResponseRedirect('/thank-you/')     #se agrega la pagina 'than-you' asi que hay
                                                    #que agregarla en -urls.py-    

    return render_to_response("signup.html",
                              locals(),
                              context_instance= RequestContext(request))

def thankyou(request):

    return render_to_response("thankyou.html",
                              locals(),
                              context_instance= RequestContext(request))

我的settings.py

STATIC_URL = '/static/'

#Template location

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(BASE_DIR),"static", "templates"),
   # '/Users/user/desktop/skillshare/static/templates',
)

if DEBUG:
    MEDIA_URL= '/media/'
    STATIC_ROOT= os.path.join(os.path.dirname(BASE_DIR),"static", "static-only")
    MEDIA_ROOT= os.path.join(os.path.dirname(BASE_DIR),"static", "media")
    STATICFILES_DIRS= (
        os.path.join(os.path.dirname(BASE_DIR),"static", "static"),
)

谢谢。

【问题讨论】:

    标签: python html css django http-redirect


    【解决方案1】:

    thankyou.html 中的 CSS 内容不在任何块中。如果您要扩展父模板,则子模板中的任何实际内容都必须位于父模板定义的块内。

    【讨论】:

    • 嗨。你能举个例子吗?对不起,我是这个 django 开发的新手。谢谢。
    猜你喜欢
    • 2017-04-24
    • 2012-01-10
    • 2016-12-17
    • 2011-10-14
    • 2015-03-03
    • 2021-06-25
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多