Django——设置应用程序的样式(3)

设置应用程序的样式

1.添加应用程序django-bootstrap3
安装Bootstrap

(ll_env) D:\Python\Blog>pip install django-bootstrap3

在项目的settings.py中 添加应用程序

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    
    #第三方应用程序
    
    'bootstrap3',
    
    #我的应用程序
    'blogs',
    'users',
    
]

在settings.py末尾添加代码, 使django-bootstrap3 包含 jQuery

LOGIN_URL = '/users/login/'

#django-bootstrap3的设置
BOOTSTRAP3 = {
    'include_jquery':True,
}

查看django-bootstrap3的模板 可以访问http://getbootstrap.com/

2.设置父模板base.html页面
选择模板Static top navbar

{% load bootstrap3 %} <!--加载django-bootstrap3模板标签集 -->

<!DOCTYPE html>   <!--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'>
		
		<title>Blog</title> <!--标题栏 -->
		
		<!--自定义模板标签 -->
		{% bootstrap_css %}
		{% bootstrap_javascript %}
		
	</head>
	
	<body>
		<!-- Static navbar -->
		<nav class='navbar navbar-default navbar-static-top'><!--页面导航链接部分 -->
			<div class='container'>
				
				<div class='navbar-header'>
				    <!--窗口太窄时 单击按钮 有下拉列表 -->
					<button type='button' class='navbar-toggle collapsed'
					    data-toggle='collapse' data-target='#navbar'
					    aria-expanded='false' aria-controls='navbar'>
					</button>
					<!-- 导航栏最左边显示项目名 设置为到主页的的链接 -->
					<a class='navbar-brand' href="{% url 'blogs:index' %}">
					   Blog</a>
				</div>
				
				<div id='navbar' class='navbar-collapse collapse'>
				    <!-- 在网站中导航的链接 -->
					<ul class='nav navbar-nav'>
						<li><a href="{% url 'blogs:blogs' %}">Blogs</a></li>
					</ul>
					
					<!-- 第二个导航栏中的链接  出现在导航栏右侧-->
					<ul class='nav navbar-nav navbar-right'>
						{% if user.is_authenticated %}
						<li><a>Hello, {{ user.username }}.</a></li>
						<li><a href="{% url 'users:logout' %}">log out</a></li>
						{% else %}
						<li><a href="{% url 'users:register' %}">register</a></li>
						<li><a href="{% url 'users:login' %}">log in</a></li>
						{% endif %}
					</ul>
				</div> <!-- /.nav-collapse -->
			</div>
		</nav>
		
		<div class='container'> 
			
			<div class='page-header'>
				{% block header %}{% endblock header %}
			</div>
			<div>
				{% block content %}{% endblock content %}
			</div>
		</div> <!-- /container -->
		
	</body>
</html>

3.设置其他页面
设置主页index.html

{% extends "blogs/base.html" %}

{% block header %}
<div class='jumbotron'>
	<h1>Track your life.</h1>
</div>
{% endblock header %}

{% block content %}
<h2>
	<a href="{% url 'users:register' %}">Register an account</a>
	to make your Blog,and list the blogs you're writing now.
</h2>
<h2>
	Whenever you write somethin new, add a content to record your life.
</h2>

{% endblock content %}

设置登录页面login.html

{% extends 'blogs/base.html' %}

{% load bootstrap3 %}  <!-- 加载模板标签 -->

{% block header %}
<h2>Log in to your account.</h2>
{% endblock header %}

{% block content %}

<form method='post' action="{% url 'users:login' %}" class='form'>
	<!--让登录视图处理表单-->
	{% csrf_token %}
	{% bootstrap_form form %} <!-- 样式应用于表单 -->
	
	{% buttons %}
	<button name="submit" class="btn btn-primary">log in</button>
	{% endbuttons %}
	
	<input type="hidden" name="next" value="{% url 'blogs:index' %}" />
	<!--成功登录后重定向到主页-->
</form>

{% endblock content %}

设置new_blog的页面

{% extends "blogs/base.html" %}
{% load bootstrap3 %}

{% block header %}
<h2>Add a new blog:</h2>
{% endblock header %}

{% block content %} 

<form action="{% url 'blogs:new_blog' %}" method='post'
            class = 'form'>
	{% csrf_token %}
	{% bootstrap_form form %}
	
	{% buttons %}
	<button name="submit" class="btn btn-primary">add blog</button>
	{% endbuttons %}
	
</form>

设置blogs页面blogs.html

{% extends "blogs/base.html" %}

{% block header %}
<h1>Blogs</h1>
{% endblock header %}

{% block content %}

<ul>
	{% for blog in blogs %}
	<li>
		<h3>
			<a href="{% url 'blogs:blog' blog.id %}">{{ blog }}</a>
		</h3>
	</li>
	{% empty %}
	<li>No blogs have been added yet.</li>
	{% endfor %}
</ul>

<h3><a href="{% url 'blogs:new_blog' %}">Add a new blog:</a></h3>

{% endblock content %}

设置blog页面中条目的样式blog.html

{% extends 'blogs/base.html' %}

{% block header %}
<h2>{{ blog }}</h2>
{% endblock header %}

{% block content %}
<p>
	<a href="{% url 'blogs:new_content' blog.id %}">add new content</a>
</p>

	{% for content in contents %}
	<div class="panel panel-default">  <!-- 面板式div元素 -->
	    <!-- 面板主体 -->
		<div class="panel-heading">
			<h3>
				{{ content.date_added|date:'M d,Y H:i' }}
				<small>
					<a href="{% url 'blogs:edit_content' content.id %}">edit content</a>
				</small>
			</h3>
		</div>
		<div class="panel-body">
			{{ content.text|linebreaks }}
		</div>
	</div> <!-- panel -->
	{% empty %}
	<li>
		There are no contents for this blog yet.
	</li>
	{% endfor %}


{% endblock content %}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值