当前位置: 首页 > article >正文

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标题正文发表时间
1title 1text 12017-7-19
2title 2text 22017-7-20

代码部分:

easy_blog/blog/models.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literalsfrom django.db import models
from django.contrib.auth.models import User# Create your models here.
class Article(models.Model):'''文章数据库'''#文章标题字段 CharField相当于sql里面的chartitle = 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"
http://www.lryc.cn/news/2413539.html

相关文章:

  • 手把手教如何搭建Linux环境(搭建云服务器) (Linux基础篇p1)_linux系统搭建云平台
  • Windows修改右键新建菜单【Win10、Win11版】
  • 探秘高性能网络库:LiteNetLib
  • 博客大巴,自动登录,并发布信息开发小计。
  • dropbox 怎么使用_如何在一台PC上使用多个Dropbox帐户
  • 虾米穷逼 VIP 事件回顾和由此引发的思考
  • 每天一篇论文 316/365 用于欠驱动系统能量控制端到端学习的深拉格朗日网络
  • 大数据最全数据仓库建设方案详细:数据平台建设_三库数据平台建设方案(3),设计思想与代码质量优化+程序性能优化+开发效率优化
  • python challenge
  • Wifi 破解原理及教程
  • android 炫酷时间轴,这38款超级炫酷的时间轴特效代码案例,总有一款是你需要的...
  • 整理一些博客网站,助力快速搭建个人知识记录平台
  • 百度地图api初次申请及简单应用
  • Dialog.hide() or Dialog.dismiss()?
  • Matlab R2022a安装
  • 【OpenCV图像处理】三、图像的逻辑运算
  • winrar3.93
  • 某东令牌价js加密
  • 解决目前阶段翻译插件Translation谷歌翻译的问题
  • gameloft java 游戏_每一款JAVA游戏都是经典,但只有四款游戏,是90%玩家从小玩到大...
  • 绿坝花季护航,为何如此吸引眼球?
  • Oracle sql 复习题目总结
  • DDD 领域驱动设计落地实践系列:战略设计和战术设计
  • PCI简易通讯控制器驱动的安装办法
  • 【算法】----完全背包问题(动态规划)
  • 编程行业里面的新行话
  • 双重标准? Retina屏科学原理
  • ScriptManager的用法
  • Initialization error Could not initializa “D:\app\Administrator\product\11.2.0\dbhome_1\bin\oci...“
  • 视频转gif图片格式-好用的软件