django学习笔记一:搭建简易博客

初次学习Django,总结有不对的地方,希望大家多多指出。
文章最后附上学习资料链接,供大家学习。
我的项目源码已经上传到github:https://github.com/xuna123/Django_study1/tree/master

django是什么?

Django是一个开放源代码的Web应用框架,由Python语言写成。采用了MTV的软件设计模式,即模型M(model.py)模型T(主要是html文件)视图V(View.py)

环境

  • 操作系统:虚拟机ubuntu 16.04 64bit
  • Django版本 :1.11.3
  • Python版本 : 3.5.2
  • 数据库:SQLite3(Django自带)

实现的功能

从数据库获得文章数据,显示在浏览器页面。

文章的具有的属性

  • 标题
  • 正文
  • 作者
  • 发表时间

代码实现

知道了博客要实现的功能,下面就是如何用代码实现我们想要的功能。

创建项目与应用

#项目 相当于容器
django-admin.py startproject esay_blog 
#应用app
django-admin.py startapp blog   

此时整个项目的结构如下:
这里写图片描述

个别文件的功能

  • manage.py: 调用数据库。
  • settings.py: 项目设置/配置。
  • urls.py: 驱动网站的目录。
  • wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • blog:建立的django应用

用下面这条语句在本地运行服务器

python3 manage.py runserver

运行结果:
这里写图片描述

注册博客应用

已经创建好app,需要告诉项目我们的app,便于调用。

easy_blog/easy_blog/settings.py
# Application definition
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog', #注册的博客应用
]

设计数据库(M)

根据功能需要设计如下一个数据库表。

id 标题 正文 发表时间
1 title 1 text 1 2017-7-19
2 title 2 text 2 2017-7-20

代码部分:

easy_blog/blog/models.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class Article(models.Model):
    '''
    文章数据库
    '''
    #文章标题字段 CharField相当于sql里面的char
    title = models.CharField(max_length=70)

    #文章正文字段
    body = models.TextField()

    #文章的创建时间
    created_time =models.DateTimeField()

我们知道在数据库中执行的语句为sql语句,所以需要将Python语言翻译成sql语言执行。

#Django 在 blog 应用的 migrations\ 目录下生成了一个 0001_initial.py 文件,这个文件是 Django 用来记录我们对模型做了哪些修改的文件。
python3 manage.py makemigrations
python3 manage.py migrate
#翻译成数据库语言

设计模板(T)

在根目录下建立 templates文件 ,在templates下面建立一个index.html。

easy_blog/templates/index.html
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
    <title>xunalove的博客</title>

    <!-- meta -->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1"
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值