django 1.6.2:CSS 没有扩展到子模板
Posted
技术标签:
【中文标题】django 1.6.2:CSS 没有扩展到子模板【英文标题】:django 1.6.2 : CSS not extending to child templates 【发布时间】: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"),
)
谢谢。
【问题讨论】:
【参考方案1】:thankyou.html 中的 CSS 内容不在任何块中。如果您要扩展父模板,则子模板中的任何实际内容都必须位于父模板定义的块内。
【讨论】:
嗨。你能举个例子吗?对不起,我是这个 django 开发的新手。谢谢。以上是关于django 1.6.2:CSS 没有扩展到子模板的主要内容,如果未能解决你的问题,请参考以下文章