Django快速搭建博客
2024-08-27 16:18:47
准备工作:
1.Python
2.Django
3.Git
安装Python:
官网下载
安装Django:
#安装最新版本的Django
$ pip install django
#或者指定安装版本
pip install -v django==1.7.1
现在正式开始创建一个名为my_blog
的Django项目:
$ django-admin.py startproject my_blog
建立Django app(article):
$ python manage.py startapp article
到目前为止的项目结构如下:
── article
│ ├── __init__.py
│ ├── admin.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── manage.py
├── my_blog
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-34.pyc
│ ├── settings.cpython-34.pyc
│ ├── urls.cpython-34.pyc
│ └── wsgi.cpython-34.pyc
├── settings.py
├── urls.py
└── wsgi.py
并在my_blog/my_blog/setting.py下添加新建app:
INSTALLED_APPS = (
...
'article', #这里填写的是app的名称
)
运行程序!启动Django中的开发服务器:
$ python manage.py runserver
如果出现以上界面则说明运行成功。
命令总结
python manage.py <command> [options] #Django Command python manange.py -h帮助文档
django-admin.py startproject my_blog #创建项目
python manage.py startapp article #创建app
Django Model:
- 每一个
Django Model
都继承自django.db.models.Model
- 在
Model
当中每一个属性attribute
都代表一个database field - 通过
Django Model API
可以执行数据库的增删改查, 而不需要写一些数据库的查询语句
设置数据库:
Django项目建成后, 默认设置了使用SQLite数据库, 在my_blog/my_blog/setting.py中可以查看和修改数据库设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
还可以设置其他数据库, 如MySQL, PostgreSQL
, 现在为了简单, 使用默认数据库设置。
创建models:
在my_blog/article/models.py下编写以下代码
from django.db import models # Create your models here.
class Article(models.Model) :
title = models.CharField(max_length = 100) #博客题目
category = models.CharField(max_length = 50, blank = True) #博客标签
date_time = models.DateTimeField(auto_now_add = True) #博客日期
content = models.TextField(blank = True, null = True) #博客文章正文 #python2使用__unicode__, python3使用__str__
def __str__(self) :
return self.title class Meta: #按时间下降排序
ordering = ['-date_time']
其中__str__(self)
函数Article对象要怎么表示自己, 一般系统默认使用<Article: Article object>
来表示对象, 通过这个函数可以告诉系统使用title字段来表示这个对象
CharField
用于存储字符串, max_length设置最大长度TextField
用于存储大量文本DateTimeField
用于存储时间, auto_now_add设置True表示自动设置对象增加时间
最新文章
- 使用ICSharpCode.SharpZipLib.Zip类库解压zip文件的方法
- django manytomany
- Stack的c实现
- Python与PHP通过XMLRPC进行通信
- ng-style 的坑 - 对性能的影响
- Object中的一些方法
- ubuntu下安装Node.js(源码安装)
- ECSHOP后台SQL查询提示错误 this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT
- html页面通过特殊链接:打电话,发短信,发邮件详细教程
- javaweb学习总结(四十四)——监听器(Listener)学习
- BZOJ1831: [AHOI2008]逆序对
- Luogu 1962 斐波那契数列(矩阵,递推)
- 1000/problem/A
- MVC和Web API 过滤器Filter
- 微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用
- the implemention of redblack tree
- POI 导出
- idea 常用设置初始化
- linux:SSH最简单教程
- [git]使用vimdiff做git代码比较
热门文章
- 【计算机视觉】基于Kalman滤波器的进行物体的跟踪
- c#(asp.net) 如何计算两个日期之间相隔天数
- 超好用的谷歌浏览器、Sublime Text、Phpstorm、油猴插件合集
- 【Henu ACM Round#18 A】 Multiplication Table
- CentOS下部署巡风步骤详解
- Mysql第八天 分区与分表
- 我的Android进阶之旅------&;gt;Android实现用Android手机控制PC端的关机和重新启动的功能(二)Androidclient功能展示
- Xposed框架之函数Hook学习
- [当我在研究Cocos-2dx的源代码时,我在想什么]-Ref类,一切的起源
- Android学习笔记进阶18 之画图并保存图片到本地