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初探-创建简单的博客系统(一)的更多相关文章

  1. django初探-创建简单的博客系统

    django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...

  2. django初探-创建简单的博客系统(二)

    上篇django初探-创建简单的博客系统(一)已经记录了Django实现博客的发布的整个过程,接下来继续说明博客标题和内容的显示. 显示博客详细 将博客内容保存到数据库还不是发布博客的终极目的,博客一 ...

  3. django 部署一个简单的博客系统

    转:https://www.cnblogs.com/fnng/p/3737964.html 写的目的, 加深影响,熟悉开发流程, 开发都是练出来的. 环境 python3.5 windows 7 1. ...

  4. 使用Django+MySQL+Apache+Linux创建简单的博客

    本教程基于慕课网<Django入门与实践>编写,基于CentOS 7 基础知识 什么是django? Django是一个基于Python的高级Web开发框架, 特点:高效,快速,高度集成( ...

  5. Django完整的开发一个博客系统

    今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的. 开发环境 操作系统:windows 7 64位 Django: 1.96 Python:2.7.11 IDE: Py ...

  6. NodeJS+Express+MongoDB 简单个人博客系统【Study笔记】

    Blog 个人博客系统 iBlog是在学习NodeJs时候一个练手项目Demo 系统支持用户注册/登录,内容文章查看,评论,后台管理(定制显示的分类版块,进行文章内容添加)超级管理员还可进行用户管理等 ...

  7. 用express搭建一个简单的博客系统

    转自:https://blog.csdn.net/qq_29721837/article/details/62055603 Express 简介 Express 是一个简洁而灵活的 node.js W ...

  8. Python学习笔记23:Django构建一个简单的博客网站(一个)

    在说如何下载和安装Django,本节将重点讨论如何使用Django站点. 一 新建project 命令:django-admin startproject mysite # 有的须要输入:django ...

  9. Python Web开发:Django+BootStrap实现简单的博客项目

    创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...

随机推荐

  1. linux命令(6/8):crontab命令

    一.crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cro ...

  2. 验证环境中的program为什么必须是automatic

    最近在项目中,发现验证环境中的顶层的program(一般将program作为验证环境的入口),都是automatic的. 其实Program默认是static的,那么为什么需要把验证环境做成autom ...

  3. React Native 网络请求封装:使用Promise封装fetch请求

    最近公司使用React作为前端框架,使用了异步请求访问,这里做下总结: React Native中虽然也内置了XMLHttpRequest 网络请求API(也就是俗称的ajax),但XMLHttpRe ...

  4. java中泛型的一个小问题

    最近做项目,由于java语法不是非常的熟悉,编写代码过程中不难遇到一些问题: 代码里写了一条这种语句: Map<String, List<String>> configFile ...

  5. LeetCode——Fizz Buzz

    LeetCode--Fizz Buzz Question Write a program that outputs the string representation of numbers from ...

  6. 堆与堆排序、Top k 问题

     堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法.学习堆排序前,先讲解下什么是数据结构中的二叉堆. 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树. 二叉堆满 ...

  7. mysql入门语句

    连接 1.mysql -h localhost -u root -p ******(回车) 2.mysql -h localhost -u root -p(回车) ****** 3.mysql -u ...

  8. 关于Node.js的__dirname,__filename,process.cwd(),./文件路径的一些坑

    探索 计算机不会欺骗人,一切按照规则执行,说找不到这个文件,那肯定就是真的找不到,至于为什么找不到,那就是因为我们理解有偏差,我最初理解的'./'是当前执行js文件所在的文件夹的绝对路径,然后Node ...

  9. SQL中比较好的For xml 用法实例

    --包裹单号 入库时间 交易号 商品分类 商品名称 实付款SELECT a.DeliveryCode AS '包裹单号',a.DomesticWarehouseInTime AS '入库时间',a.T ...

  10. Remove Duplicates from Sorted List ,除去链表中相邻的重复元素

    Remove Duplicates from Sorted List : Given a sorted linked list, delete all duplicates such that eac ...