1)增加应用

python3 manage.py startapp app-name

2. settings.py中,“INSTALLED_APPS”添加应用名称。

3. 在templates中新增网页index.html

4. view中,

def index(request):
return render(request, 'index.html')

5. urls.py中,

from ganji.views import index

url(r'^index/', index),

6. html中的静态文件,首先增加static目录,与templates同级,html中使用

{% load static %}
href="{% static 'homework.css' %}"

7. settings.py中

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) # 这个必须有,要不然Django是找不到文件夹的位置的 

8. python3 manage.py runserver

2)新增数据库模型

django 1.7 新的migration框架,取代south

  • makemigrations,用来根据你对模型做的变更创建新的迁移脚本。
  • migrate,用来使迁移生效,以及未生效时报告它们的状态。

定义博客的数据库模型

我们网站的CMS已经做好了,现在要定义我们自己的模型。

easyblog/models.py

from django.db import models
from django.contrib import admin class BlogPost(models.Model):
title = models.CharField(max_length=200)
body = models.TextField()
timestamp = models.DateTimeField() admin.site.register(BlogPost)

 上面的代码帮我们定义了一个简单的数据内容。现在我们要让数据库发生变化。执行以下命令

python3 manage.py makemigrations pure_layout_blog
qiongyazhudembp:mysite qiongyanzhu$ python3 manage.py makemigrations pure_layout_blog
System check identified some issues: Migrations for 'pure_layout_blog':
0003_auto_20160622_1323.py:
- Create model BlogPosts
- Create model BlogUsers
- Delete model BlogBody
- Delete model BlogPost
- Delete model UserInfo
- Alter index_together for blogusers (2 constraint(s))
- Add field post_author to blogposts
- Add field post_parent to blogposts
- Alter index_together for blogposts (3 constraint(s))
qiongyazhudembp:mysite qiongyanzhu$ python3 manage.py makemigrations pure_layout_blog
Migrations for 'pure_layout_blog':
0004_auto_20160622_1326.py:
- Alter field comment_count on blogposts
- Alter field menu_order on blogposts
- Alter field user_status on blogusers
qiongyazhudembp:mysite qiongyanzhu$
python3 manage.py sqlmigrate pure_layout_blog 0001
python3 manage.py migrate

按顺序执行命令,就会把我们新增的models生成。这个时候进入CMS就可以看到多了一个group,在里面输入标题,内容和时间,保存即可。

[Django 2]第一个django应用的更多相关文章

  1. Django教程:第一个Django应用程序(4)

    Django教程:第一个Django应用程序(4) 2013-10-09 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 #博客: ...

  2. Django教程:第一个Django应用程序(3)

    Django教程:第一个Django应用程序(3) 2013-10-08 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 #博客: ...

  3. Django之真正创建一个django项目

    真正创建一个django项目 1 创建Django项目     :new-project 2 创建APP :  python manager.py startapp app01 3 setting 配 ...

  4. python web开发——django学习(二)第一个django网站运行成功

    1.写message_form.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  5. 如何开启一个Django项目

    一:新建的Django工程 新建了一个Django工程后,工程会自动创建有两个templates文件夹和unitled文件夹,再加上一个manage.py文件. 二:Django开发的一般流程 在工程 ...

  6. Django博客开发教程,Django快速开发个人blog

    学DjangoWEB框架,估计大部分的朋友都是从Blog开发开始入门的,Django中文网发布了一个Django开发教程,这个教程简单易懂,能让你快速的使用Django开发一个漂亮的个人blog,是D ...

  7. [Django 1]安装Django并创建虚拟虚拟环境项目

    1)安装Django 使用pip来安装,命令如下: pip3 install Djangopip install Django(安装到python2)python3 -m pip install Dj ...

  8. 第一个django

    4.创建第一个Django工程 Django环境算是配置完成了,你可以到命令提示符下创建第一个Django应用,进入某个目录,执行django-admin.py startproject myproj ...

  9. 搭建你的第一个Django应用程序

    首先你要确保你机器上面安装了python:Python开发_python的安装 python的相关学习资料:http://www.cnblogs.com/hongten/tag/python/ 其次, ...

随机推荐

  1. iOS UITableView删除cell分割线

    UITableView是UITableViewStylePlain风格的,这样整个TableView都会被分割线分隔开,不管有没有数据,非常丑. 为了可以自定义cell的分割线: 解决方案: 将UIT ...

  2. Objective-C Runtime 运行时之一:类与对象

    Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...

  3. XML 概述 (可扩展标记语言)

    XML:eXtensible Markup Language  可扩展标记语言 概念:可扩展:xml中所有的标签都是自定义的.没有预定义的.        功能:            存储数据   ...

  4. 在xib中用KVC修改控件属性

    比如我们想在xib 中设置按钮的圆角,这样的话我们就可以在xib文件中进行修改,具体操作如下 实现效果,如下

  5. JavaScript的个人学习随手记(二)

    JS HTML DOM 改变 HTML 输出流 JavaScript 能够创建动态的 HTML 内容: 今天的日期是: Sat Sep 24 2016 15:06:50 GMT+0800 (中国标准时 ...

  6. Feathers UI 性能优化

    Feathers UI作者写的 http://joshblog.net/2013/feathers-performance-tips/

  7. js,jq新增元素 ,on绑定事件无效

    在jquery1.7之后,建议使用on来绑定事件. $('.upload a').on('click',function(){ $(this).remove(); }) 在DOM渲染的时候,也就是ht ...

  8. html之长文本框置顶

    方法: 在<body> </body>中添加如下代码: <a name="top"></a> <a href="#t ...

  9. 浅谈Linux中的信号处理机制(二)

    首先谢谢 @小尧弟 这位朋友对我昨天夜里写的一篇<浅谈Linux中的信号处理机制(一)>的指正,之前的题目我用的“浅析”一词,给人一种要剖析内核的感觉.本人自知功力不够,尚且不能对着Lin ...

  10. Unix哲学

    01. 模块原则:使用简洁的接口拼合简单的部件. 02. 清晰原则:清晰胜于机巧. 03. 组合原则:设计时考虑拼接组合. 04. 分离原则:策略同机制分离,接口同引擎分离. 05. 简洁原则:设计要 ...