一.安装
pip install django south django-bootstrap-toolkit
二.修改urls.py
from django.conf.urls import patterns, include, url # Uncomment the next two lines to enable the admin: # from django.contrib import admin # admin.autodiscover() urlpatterns = patterns('', (r'^articles/',include('article.urls')), # Examples: # url(r'^$', 'twitter_bootstrap.views.home', name='home'), # url(r'^twitter_bootstrap/', include('twitter_bootstrap.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: # url(r'^admin/', include(admin.site.urls)), )
三.修改twitter_bootstrap/templates/base.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" name="viewport" content="width=device-width,initial-scale=1.0"> <title>Bootstrap Tutorial</title> <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css"> <style type="text/css"> body{ padding-top:60px; } </style> </head> <body> <div class="navbar navbar-fixed-top navbar-inverse" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navgar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">Articles App</a> </div> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li class="activate"> <a href="{% url 'article.views.articles' %}">Home</a> </li> <li><a href="{% url 'article.views.create' %}">New</a></li> </ul> </div> </div> </div> <div class="container"> {% block content %} {% endblock %} </div> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> </body> </html>
三.修改article/templates/add_comment.html
{% extends "base.html" %} {% load bootstrap_toolkit %} {% block sidebar %} <ul> <li><a href="/articles/get/{{article.id}}">Cancel</a></li> </ul> {% endblock %} {% block content %} <form action="/articles/add_comment/{{article.id}}" method="post">{% csrf_token %} {{|form|as_bootstrap}} <div class="form-action"> <button class="btn btn-primary" type="submit">Post Comment</button> </div> </form> {% endblock %}
四.修改article/templates/article.html
{% extends "base.html" %} {% load static %} {% block content %} <div class="col-md-8"> <h1>{{article.title}}</h1> <p>{{ article.body}}</p> <p>{{article.likes}} people liked this article</p> <p><a href="/articles/like/{{article.id}}" class="btn btn-xs btn-success">Like</a></p> <h2>Comment</h2> {% for c in article.comment_set.all %} <p>{{c.first_name}} {{c.second_name}}:{{c.body}} <a href="/articles/delete_comment/{{c.id}}" class="btn btn-xs btn-danger">Delete</a> </p> {% endfor %} <p><a href="/article/add_comment/{{article.id}}" class="btn btn-primary">Add Comment</a></p> </div> {% endblock %}
五.修改article/templates/create_article.html
{% extends "base.html" %} {% load bootstrap_toolkit %} {% block sidebar %} <ul> <li><a href="/articles/all">Cancel</a></li> </ul> {% endblock %} {% block content %} <form action="/articles/create/" method="post" enctype="multipart/form-data">{% csrf_token %} {{form|as_bootstrap}} <div class="form-actions"> <button class="btn btn-primary" type="submit"> Create Article </button> </div> </form> {% endblock %}
六.修改article/templates/articles.html
{% extends "base.html" %} {% block content %} <div class="jumbotron"> <h1>Articles for you!</h1> <p> This is where you can put a description of what this page does! </p> </div> <div class="row"> {% if article.count > 0 %} {% for article in articles %} <div class="col-6 col-sm-6 col-lg-4"> <h2>{{ article.title}}</h2> <p> {{article.body|lower}} </p> <p><small> {{article.likes}} people liked this article </small></p> <p><a href="{% url 'article.views.article' article.id %}" class="btn btn-default">View details »</a></p> </div> {% endfor %} {% else %} <div class="col-6 col-sm-6 col-lg-4"> <p>None to show!</p> </div> {% endif %} </div> {% endblock %}