开发环境 是pycharm
直接新建Django 工程
创建 sqlite 数据库表
python manage.py migrate
创建后台的管理用户
python manage.py createsuperuser
设计Model(即:设计数据库表)
添加 BlogPost
在Blog 应用下面 models.py 创建数据库表:
code:
from django.db import models
from django.contrib import admin
# Create your models here.
#创建数据库表
class BlogsPost(models.Model):
title=models.CharField(max_length=150)
body=models.TextField()
timestamp=models.DateField()
admin.site.register(BlogsPost)
再次初始化数据库 :
python manage.py makemigrations blog
再次更新数据库:
Python manage.py migrate
然后(⊙o⊙。。。 登陆 127.0.0.1:8000/admin
把BlogPost 加到admin 的管理页面
打开myhome/blog/models.py 做如下的修改:
from django.db import models
from django.contrib import admin
# Create your models here.
#创建数据库表
class BlogsPost(models.Model):
title=models.CharField(max_length=150)
body=models.TextField()
timestamp=models.DateTimeField()
class BlogPostAdmin(admin.ModelAdmin):
list_display = ('title','timestamp')
admin.site.register(BlogsPost,BlogPostAdmin)
创建模板
在blog项目下创建templates目录(mysite/blog/templates/),在目录下创建模板文件index.html,内容如下:
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.timestamp }}</p>
<p>{{ post.body }}</p>
{% endfor%}
c创建视图函数
打开myhome/blog/views.py:
#coding=utf-8
from django.shortcuts import render
from blog.models import BlogsPost
from django.shortcuts import render_to_response
# Create your views here.
def index(request):
blog_list=BlogsPost.objects.all()
return render_to_response('index.html',{'blog_list':blog_list})
blog_list = BlogPost.objects.all() :获取数据库里面所拥有BlogPost对象
render_to_response()返回一个页面(index.html),顺带把数据库中查询出来的所有博客内容(blog_list)也一并返回。
创建blog 的URL 模式
在myhome/urls.py 文件里添加blog的url:
from django.conf.urls import url
from django.conf.urls import include
from blog.views import index
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/$',index),
]
再次启动服务