django初探-创建简单的博客系统(一)
django第一步
1. django安装
pip install django
print(django.get_version()) 查看django版本
2. 创建项目
打开cmd,进入指定目录
django-admin startproject projectname或
django-admin startproject projectname . #最后是空格加点
二者会在文件目录上存在差别
3. 创建应用
进入project目录
django-admin startapp appname或
python manage.py startapp appname
二者虽方式不同,但效果一样
manage.py文件在项目创建后会被自动生成在项目的根目录下,它是对django-admin.py的简单封装,所以效果一样
4. 启动服务
python manage.py runserver
5. 测试
在浏览器中输入http://localhost:8000或http://127.0.0.1:8000

django项目结构认识
windows平台下使用tree/f命令查看详细的文件结构
下图创建xbqr项目和blog应用后的文件结构:

xbqr文件夹
1. settings.py:这个文件包含了项目的初始化设置,可以针对整个项目进行相关参数配置,比如配置数据库,添加应用。
重点关注以下几项:
(1)DEBUG:
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
(2)ALLOWED_HOST
在DEBUG为true时,其值可以为空,当部署到生产环境中时,要把主域名添加在这里,
才能通过域名访问到本网站
(3)INSTALLED_APPS
这是一个非常重要的配置,所有的应用都被添加在这里
(4)DATEBASES
配置数据库,django支持多种数据库,MySQL、PosttgreSQL、Oracle等,默认的配置是SQLite
(5)LANGUAGE_CODE
设置项目语言,一般情况下不用修改,若非用汉字,则设置为‘zh-hans’
(6)TIME_ZONE
设置时区,通常为东八区,设置为‘Asia/Shanghai’
2. urls.py
URL配置表文件,根据用户输入的url将URL映射到应用程序上
3. wsgi.py
WSGI是python所选择的服务器和应用标准,Django也会使用
blog文件夹
1. admin.py
在这个文件中可以自定义Django的管理工具,比如设置在管理界面能够管理的项目,
或者通过自定义与系统有关的类对象,向管理功能添加新的内容
2. apps.py
包含对应用的配置,为管理功能提供一个合适的应用名称
3. migrations
这是一个目录,用于存储应用的数据库表结构的指令,通过这些指令可以修改和创建数据库,从而在models.py模型类和数据库之间迁移
4. models.py
应用的数据模型
5. tests.py
编写测试文档来测试所建立的应用
6. views.py
用户保存响应各种请求的函数和类
编写简单博客
1. 编写数据模型类
修改blog/modells.py文件
from django.db import models # Create your models here.
from django.contrib.auth.models import User
from django.utils import timezone
class BlogArticles(models.Model): #注意基类
'''
标题,内容,作者,发布时间
'''
title = models.CharField(max_length=300)
content = models.TextField()
author = models.ForeignKey(User, "unknow", related_name="blog_posts")
publish = models.DateTimeField(default=timezone.now) class Meta:
ordering = ("-publish",) def str(self):
return self.title
2. 根据数据模型建立数据库表
在/xbqr/manage.py执行python manage.py makemigrations

这样会在D:\Pystu\xbqr\blog\migrations目录下生成0001_initial.py文件
# Generated by Django 2.0.3 on 2018-03-25 06:47 from django.conf import settings
from django.db import migrations, models
import django.utils.timezone class Migration(migrations.Migration): initial = True dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] operations = [
migrations.CreateModel(
name='BlogArticles',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=300)),
('content', models.TextField()),
('publish', models.DateTimeField(default=django.utils.timezone.now)),
('author', models.ForeignKey(on_delete='unknow', related_name='blog_posts', to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ('-publish',),
},
),
]
如果对上述代码的含义不是很清楚,可以用python manage.py sqlmigrate blog 0001查看

3. 创建数据库
上面创建了一个能够建立数据库表的文件,下面在此基础上真正创建数据库
python manage.py migrate

可以查看db.sqlite3数据库文件
如何查看可以参考博客:Python之sqlite3
4. 发布博客文章
先用最简单的方式实现博客文章的发布,使用django默认的管理功能就可以发布文章,要使用此功能,必须先创建超级管理员
python manage.py createsuperuser

在服务器运行的情况下

打开浏览器输入http://127.0.0.1:8000/admin进入网页

登录后会看到Groups和Users两项,却找不到发布文章的地方
找到/blog/admin/py文件,添加代码
from django.contrib import admin from .models import BlogArticles
# Register your models here.
admin.site.register(BlogArticles)
这下我们就看到发布博客的地方

点击add,添加博客
下篇博客继续讲解如何显示博客文章标题和文章内容!
django初探-创建简单的博客系统(一)的更多相关文章
- django初探-创建简单的博客系统
django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...
- django初探-创建简单的博客系统(二)
上篇django初探-创建简单的博客系统(一)已经记录了Django实现博客的发布的整个过程,接下来继续说明博客标题和内容的显示. 显示博客详细 将博客内容保存到数据库还不是发布博客的终极目的,博客一 ...
- django 部署一个简单的博客系统
转:https://www.cnblogs.com/fnng/p/3737964.html 写的目的, 加深影响,熟悉开发流程, 开发都是练出来的. 环境 python3.5 windows 7 1. ...
- 使用Django+MySQL+Apache+Linux创建简单的博客
本教程基于慕课网<Django入门与实践>编写,基于CentOS 7 基础知识 什么是django? Django是一个基于Python的高级Web开发框架, 特点:高效,快速,高度集成( ...
- Django完整的开发一个博客系统
今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的. 开发环境 操作系统:windows 7 64位 Django: 1.96 Python:2.7.11 IDE: Py ...
- NodeJS+Express+MongoDB 简单个人博客系统【Study笔记】
Blog 个人博客系统 iBlog是在学习NodeJs时候一个练手项目Demo 系统支持用户注册/登录,内容文章查看,评论,后台管理(定制显示的分类版块,进行文章内容添加)超级管理员还可进行用户管理等 ...
- 用express搭建一个简单的博客系统
转自:https://blog.csdn.net/qq_29721837/article/details/62055603 Express 简介 Express 是一个简洁而灵活的 node.js W ...
- Python学习笔记23:Django构建一个简单的博客网站(一个)
在说如何下载和安装Django,本节将重点讨论如何使用Django站点. 一 新建project 命令:django-admin startproject mysite # 有的须要输入:django ...
- Python Web开发:Django+BootStrap实现简单的博客项目
创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...
随机推荐
- javaEE中的spring配置笔记
0 JavaEE的工程目录 0.1 WebContent 项目的主目录,在eclipse新建工程时可以自己命名,部署时会把该文件夹的内容发布到tomcat的webapps里. 该目录下可以建立 ...
- $命令行参数解析模块argparse的用法
argparse是python内置的命令行参数解析模块,可以用来为程序配置功能丰富的命令行参数,方便使用,本文总结一下其基本用法. 测试脚本 把以下脚本存在argtest.py文件中: # codin ...
- CSS的单位 及 css3的calc() 及 line-height 百分比
CSS的单位及css3的calc()及line-height百分比 摘自:http://www.haorooms.com/post/css_unit_calc 单位介绍 说到css的单位,大家应该首先 ...
- 利用同步网盘搭建个人或团队SVN服务器
这篇文章是以前写的,现在强烈推荐两个站.1.http://git.oschina.com 2.http://www.coding.net. 推荐理由:1.可创建私有项目.2.免费稳定.3.VS2013 ...
- 一年java程序员的感悟
前沿 在小公司干了差不多一年,刚进来与一个中级程序员做交接,过了大概一个月,那个中级程序员走了,从此,走上了"泥泞"的道路(独立开发),熟悉了公司的项目和业务用了一个月左右,公司当 ...
- Java集合类初始容量、加载因子、扩容增量
当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低. 加载因 ...
- CC3中的2D转换
2D转换方法: translate() rotate() scale() skew() matrix() 1.translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动 ...
- MySQL5.6一键部署
# 快速部署单节点MySQL脚本# 执行方式:将MySQL包,my3302.cnf配置文件,dbtool脚本文件放到一个目录下.然后按照脚本执行就可以.配置文件提前修改好.文章最后附上my.cnf配置 ...
- socket IPC(本地套接字 domain)
1.简介 socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络socket也可用于同一台主机的进程间通讯(通 ...
- Synchronize原理
1 普通方法上 2 静态方法上 修饰静态方法内置锁是当前的Class字节码对象 修饰普通方法内置锁是当前类的实例 原理与使用: 从字节码层面解释: 执行同步代码块 monitorenter synch ...