django实战(一)简单博客显示

来源:互联网 发布:工程网络计划技术讲义 编辑:程序博客网 时间:2024/06/05 22:43

一直想好好学习一下Python,正好Django是一个很好的网站开发框架,可以用来web程序。接下来,以一个博客为例。

一、创建基本框架:(django1.0+python3.6+pycharm)
(1)创建项目
控制台输入以下命令:
django-admin startproject MyDjango
(2)创建app
cd MyDjango
Python manage.py startapp MyBlog

二、Django应用程序开发(MVT框架开发)
1 数据库表的建立(M)
Myblog/model.py:
首先,在setting.py中的INSTALLED_APPS里加上MyBlog;
在model.py内建立表内容:(标题,内容,发布时间等)

  class BlogPost(models.Model):    title=models.CharField('标题',max_length=50)    content=models.TextField(help_text='博客内容')    pub=models.DateTimeField('发布时间')    class Meta:        verbose_name = "博客"        verbose_name_plural = verbose_name        ordering = ["-pub"]    def __str__(self):        return self.title

数据库建立完成后,运行以下:
python manage.py makemigrations
python manage.py migrate
创建成功。
管理数据库内容:

 #coding=utf-8  from django.contrib import admin  from .models import BlogPost  # Register your models here.  class BlogPostAdmin(admin.ModelAdmin):     list_display = ('title','pub') admin.site.register(BlogPost,BlogPostAdmin)
创建管理员:python manage.py createsuperuser输入用户名,密码;创建成功。输入以下命令:python manage.py runserver运行服务器然后在浏览器网址127.0.0.1:8000/admin登录:点击添加博客![图片1](http://img.blog.csdn.net/20170325160241564?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTE4ODUyODY3MDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)![图片2](http://img.blog.csdn.net/20170325160325508?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTE4ODUyODY3MDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

2 添加视图控制:(V)
view.py里:(一个视图函数对应一个url)

#coding=utf-8from django.shortcuts import render,render_to_responsefrom .models import BlogPost# Create your views here.def myBlog(request):    blog_list=BlogPost.objects.all()    return render_to_response('BlogTemplate.html',{'blog_list':blog_list})

urls.py里,定义新的url:
url(r’^myBlogs/$’,myBlog),#当然得引入view(from MyBlog.view import *)

3 完成模板配置(T)
在MyBlog文件夹里新建文件夹templates,然后在templates里新建BlogTemplate.html。
我们可以定义一个基础的base.html作为所有页面的基类:
base.html

<!DOCTYPE html><html lang="zh"><head><meta charset="UTF-8">    <title>标题</title></head><style type="text/css">    body{        color:#efd;        background: #bbbbbb;        padding: 12px 5em;        margin: 7px;    }    h1{        padding: 2em ;        background: #675;    }    h2{        color: #85F2F2;        border-top: 1px dotted #fff;    }    p{        margin: 1em 0;    }</style><body><h1>我的博文</h1><h3>这是简洁的博文</h3>{% block content %}{% endblock %}</body></html>

{% extends “base.html” %}
{% block content %}
{% for post in blog_list %}

        <h2>{{ post.title }}</h2>        <p>{{  post.pub}}</p>        <p>{{ post.content }}</p>    {% endfor %}{% endblock %}

”’
运行命令:Python manage.py runserver,获得URL
在浏览器输入:http://127.0.0.1:8000/myBlogs/,获得内容:
博客内容
到这里,一个简单的博客就结束了。
总结一下:django开发是以MVT模式开发的,熟悉每个模块的作用才能开发出好的程序。

1 0
原创粉丝点击