• DjangoWeb: 快速搭建Blog


    参考自:django 快速搭建blog http://www.cnblogs.com/fnng/p/3737964.html

    1.创建工程: 

    django-admin.py startproject MySite

    manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。

    settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

    urls.py ----- 负责把URL模式映射到应用程序。

    2.运行服务:

     python manage.py mysite

    3.创建blog应用: 

    python manage.py startapp blog

    4.设计你的Model:

    class BlogPost(models.Model):
        #创建博客类,包含博客标题,博客正文,博客创建时间
        title=models.CharField(max_length=150)
        body=models.TextField()
        timestamp=models.DateTimeField()

    创建号Model后,要设置数据库,python自带SQLite

    5.同步数据库

    python manage.py syncdb

    6.在Setting添加一个Blog应用

    7.将Model添加到admin后台:

    from django.contrib import admin
    from models import BlogPost
    # Register your models here.
    admin.site.register(BlogPost)

    8.再次初始化数据库

    9.启动服务

    ------------------------------------------

    10 设置 admin的管理界面(决定每个表里面显示的内容,以列表形式展示)

    #设置admin的BlogsPost界面
    class BlogPostAdmin(admin.ModelAdmin):
        list_display = ('title','timestamp')
    admin.site.register(BlogPost,BlogPostAdmin)

    11.创建模板

    在blog的templates目录(mysite/blog/templates)下面创建html文件

    {% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.timestamp }}</p>
    <p>{{ post.body }}</p>
    {% endfor %}

    12.设置模版路径,在setting文件底部添加模版路径

    这里一直出错因为我TEMPLATE_DIRS没有大写,之前出错因为没有在setting底部添加模版路径

    #template
    TEMPLATE_DIRS=(
        '/home/pxxxy/PycharmProjects/DDjango/MySite/templates'
    )

    13.创建视图函数

    把模板添加到视图
    # Create your views here. def archive(request): posts
    =BlogPost.objects.all() #获取数据库里面所有用于普BlogPost对象 t=loader.get_template("archive.html") #加载模版 c=Context({'post':posts})#模版的渲染的数据是一个有字典类,这里是一对键值对 return HttpResponse(t.render(c))

    14.创建Blog的URL模式

    urlpatterns = patterns('',
        # Examples:
        # url(r'^$', 'MySite.views.home', name='home'),
        # url(r'^blog/', include('blog.urls')),
    
        url(r'^admin/', include(admin.site.urls)),
        url(r'^mysite/', archive)
    )

    15.再次启动服务器访问应用就可以

    16. 添加样式

    创建基础模板,在templates目录下创建base.html模版

    <!DOCTYPE html>
    <html>
         <style type="text/css">
             body{color:#efd; background:#435; padding:0 5em; margin:0}
             h1{padding:2em lem; background:#675}
             h2{color:#bf8; border-top:lpx dotted #fff; margin-top:2em}
             p{margin: lem 0}
         </style>
    
         <body>
         <h1>梓听</h1>
         <h3>Yoooohooo!</h3>
         {% block content %}
         {% endblock %}
         </body>
    </html>

    修改archive.html模版,让它引用base.html 模版和它的content块

    {% extends "base.html" %}
    {% block content %}
        {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.timestamp }}</p>
        <p>{{ post.body }}</p>
        {% endfor %}
    {% endblock %}

    再次刷新页面

  • 相关阅读:
    【习题 3-12 UVA
    【习题 3-9 UVA
    【Codeforces Round #299 (Div. 2) E】Tavas and Pashmaks
    分布式ID生成器的解决方案总结
    Spring MVC表单防重复提交
    Spring import配置文件使用占位符
    什么是灰度发布,灰度测试。
    浅析负载均衡的6种算法,Ngnix的5种算法。
    神器,阿里巴巴Java代码检查插件
    去BAT面试完的Mysql面试题总结(55道,带完整答案)
  • 原文地址:https://www.cnblogs.com/zzblee/p/4722113.html
Copyright © 2020-2023  润新知