django 实例演示
来源:互联网 发布:如何成为域名注册商 编辑:程序博客网 时间:2024/06/11 19:50
1.创建一个 project
django-admin startproject mysite
2.在 mysite 下面创建一个 app
python manage.py startapp blog
注:Django 1.8.x 以上的,还有一个 migrations 文件夹。Django 1.9.x 还会在 Django 1.8 的基础上多出一个 apps.py 文件。但是这些都与本文无关。
3.初始化 admin 后台数据库
python manage.py migrate
4.设置 admin 应用,添加 blog 应用
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog',]
5.启动 admin 容器
python manage.py runserver 9999 &
6.访问 后台应用
http://127.0.0.1:9999/admin
此时用户名密码需要进行设置
7. 设计 Model 即设计数据库表
在 mysite/blog/models.py
from django.db import modelsfrom django.contrib import admin# Create your models here.class BlogsPost(models.Model): title = models.CharField(max_length = 150) body = models.TextField() timestamp = models.DateTimeField()admin.site.register(BlogsPost)
8.再次初始化数据库
python manage.py makemigrations blog
python manage.py migrate
9.再次启动容器,访问 Admin 后台,创建文章
10.设置 admin 的 BlogsPost 界面打开 mysite/blog/models.pyfrom django.db import modelsfrom 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)
创建BlogPostAdmin类,继承admin.ModelAdmin父类,以列表的形式显示BlogPost的标题和时间11.创建 blog 公共部分
从Django的角度看,一个页面具有三个典型的组件:
一个模板(template):模板负责把传递进来的信息显示出来。
一个视图(view):视图负责从数据库获取需要显示的信息。
一个URL模式:它负责把收到的请求和你的试图函数匹配,有时候也会向视图传递一些参数。
1) 创建模板
创建 mysite/blog/templates/ 在目录下创建 index.html
{% for post in blog_list %}<h2>{{ post.title }}</h2>
<p>{{ post.timestamp }}</p><p>{{ post.body }}</p>{% endfor%}2)创建视图函数
打开 mysite/blog/views.py
#coding=utf-8from django.shortcuts import renderfrom blog.models import BlogsPostfrom 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)也一并返回
3)创建 blog 的 URL 模式在 mysite/urls.py 文件里添加 blog 的 url:Django 1.7 以下:from django.conf.urls import urlfrom django.contrib import adminurlpatterns = [ url(r'^admin/', admin.site.urls),url(r'^blog/', blog.views.index),]
Django 1.8 以上:先导入,再使用from django.conf.urls import urlfrom django.contrib import adminfrom blog import views as blog_viewsurlpatterns = [ url(r'^admin/', admin.site.urls),url(r'^blog/', blog_views.index),]
4)再次启动服务 python manage.py runserver 9999 &
访问 http://127.0.0.1:9999/blog/
5)添加样式
在 mysite/blog/templates 目录下创建 base.html模板
<html> <style type="text/css"> body{color:#efd;background:#453;padding:0 5em;margin:0} h1{padding:2em 1em;background:#675} h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em} p{margin:1em 0} </style> <body> <h1>blog 样式演示</h1> {% block content %} {% endblock %} </body></html>
修改 index.html 模板,引用 base.html 模板和 content 块
{% extends "base.html" %} {% block content %} {% for post in blog_list %} <h2>{{ post.title }}</h2> <p>{{ post.timestamp | date:"1,F jS"}}</p> <p>{{ post.body }}</p> {% endfor %} {% endblock %}
0 0
- django 实例演示
- Django 实例
- django 实例
- Xquery实例演示
- 8.2.2 实例演示
- jQuery Ajax 实例演示
- jQuery Ajax 实例演示
- jQuery Ajax 实例演示
- jQuery Ajax 实例演示
- 照片墙一多实例演示
- Hibernate 实例演示
- 自定义ContentProvider 实例演示
- jQuery Ajax 实例演示
- EHcache实例演示
- NAT配置实例演示
- Makefile编写------------实例演示
- jQuery Ajax 实例演示
- XPath实例演示
- tmux使用
- 退出启动storm的命令界面
- Mybatis源码学习(四)一级缓存机制
- 代码管理_SVN_搭建SVN_Server
- iOS9.0以上tableView reload刷新界面展示问题
- django 实例演示
- 使用SpreadJS迅速开发一套属于自己的欧洲杯赛程小工具
- curl模拟测试 libwebsocket服务端程序
- RO、RW、ZI和.text .bss .data
- DriverStudio开发PCI设备DMA数据传输
- centos6.5环境下tensoflow0.8.0的安装测试
- 走马灯 (滚动字幕效果)
- Monkey源码分析3—Monkey源码的整体设计结构
- java学习笔记