Django 1.5.4 专题24 Messages

来源:互联网 发布:java socket 即时通讯 编辑:程序博客网 时间:2024/06/04 18:41

一.修改settings.py



二.修改static/css/default.css

body {        text-align: center;        font-family: sans-serif;}#page {        width: 960px;        text-align: left;        margin: 10px auto 20px auto;        background-color: #0c0c0c;}#sidebar {        float: left;        width: 200px;        border: 1px solid #000;}#content {        float: left;        width: 600px;        border: 1px solid #f00;        padding: 10px;        line-height: 36px;}label, input {        float: left;}ul {        list-style: none;}li {        display: inline-block;        width: 100%;}.helptext {        float: left;        width: 100%;}.clearfix {        clear: both;}.messages {        background-color: #c0c0c0;        color: #fff;        padding: 1em;}.success {        background-color: #008800;        border-color: #005500;        padding-left: 1em;}.deleted {        background-color: #880000;        border-color: #550000;        padding-left: 1em;}

三.修改article/urls.py

from django.conf.urls import patterns, include, urlfrom api import ArticleResourcearticle_resource = ArticleResource()urlpatterns = patterns('',    url(r'^all/$', 'article.views.articles'),    url(r'^get/(?P<article_id>\d+)/$', 'article.views.article'),    url(r'^language/(?P<language>[a-z\-]+)/$', 'article.views.language'),    url(r'^create/$', 'article.views.create'),    url(r'^like/(?P<article_id>\d+)/$', 'article.views.like_article'),    url(r'^add_comment/(?P<article_id>\d+)/$', 'article.views.add_comment'),    url(r'^delete_comment/(?P<comment_id>\d+)/$', 'article.views.delete_comment'),    url(r'^search/$', 'article.views.search_titles'),    url(r'^api/', include(article_resource.urls)),)

四.修改article/view.py

from django.template import RequestContextfrom django.contrib import messagesdef create(request):    if request.POST:        form = ArticleForm(request.POST, request.FILES)        if form.is_valid():            a = form.save()                    messages.add_message(request, messages.SUCCESS, "You Article was added")                        return HttpResponseRedirect('/articles/all')    else:        form = ArticleForm()            args = {}    args.update(csrf(request))        args['form'] = form        return render_to_response('create_article.html', args)def delete_comment(request, comment_id):    c = Comment.objects.get(id=comment_id)        article_id = c.article.id        c.delete()        messages.add_message(request,                         settings.DELETE_MESSAGE,                         "Your comment was deleted")        return HttpResponseRedirect("/articles/get/%s" % article_id)def add_comment(request, article_id):    a = Article.objects.get(id=article_id)        if request.method == "POST":        f = CommentForm(request.POST)        if f.is_valid():            c = f.save(commit=False)            c.pub_date = timezone.now()            c.article = a            c.save()                        messages.success(request, "You Comment was added")                        return HttpResponseRedirect('/articles/get/%s' % article_id)            else:        f = CommentForm()    args = {}    args.update(csrf(request))        args['article'] = a    args['form'] = f        return render_to_response('add_comment.html', args) def article(request, article_id=1):    #return render_to_response('article.html',                              #{'article': Article.objects.get(id=article_id) },                              #context_instance=RequestContext(request))    return render(request, 'article.html',                  {'article': Article.objects.get(id=article_id) })

render 默认把request赋值给context_instance,比起render_to_response代码少一行.

五.修改templates/base.html

{% load static %}<!DOCTYPE html><html lang="en"><head>    <title>{% block title %}My Base Template{% endblock %}</title>    <link rel="stylesheet" type="text/css" href="{% get_static_prefix %}css/default.css" >            <script src="{% get_static_prefix %}js/jquery-2.0.0.min.js"></script>    <script src="{% get_static_prefix %}js/ajax.js"></script>    </head><body>        <div id="page">    <div id="sidebar">        {% block sidebar %}        <ul>            <li><a href="/articles/all">Articles</a></li>            <li><a href="/admin/">Admin</a></li>        </ul>        {% endblock %}    </div>    <div id="content">            {% if messages %}        <ul class="messages">         {% for message in messages %}         <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>         {% endfor %}        </ul>        {% endif %}                {% block content %}This is the content area{% endblock %}                <div class="clearfix"></div>        <img src="{% static "images/python-logo.jpg" %}" width="200"/>    </div>                </div>                </body></html>





原创粉丝点击