欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

个人博客开发-笔记

程序员文章站 2022-10-04 22:16:51
time: 2016 04 27 14:30 本文只是总结和概括部分开发一个基于django的个人博客的相关内容,并没有详细解释,仅供日后查阅和复习。 一、总览 1. 需要完成的任务 建立一个开发环境 包括如何使用终端,安装Pip,如何使用Git等等. 建立一个Django项目,创立一个基本的Dja ......
  • time: 2016-04-27 14:30

本文只是总结和概括部分开发一个基于django的个人博客的相关内容,并没有详细解释,仅供日后查阅和复习。

一、总览

1. 需要完成的任务

  • 建立一个开发环境 - 包括如何使用终端,安装pip,如何使用git等等.
  • 建立一个django项目,创立一个基本的django应用.
  • 为django项目设立静态文件和其他文件
  • 使用django的model-view-template(mvt)设计模式
  • 创建数据库模型,用django提供的对象关系绑定功能
  • 利用数据库模型生成的数据来创建动态生成页面
  • 使用django提供的用户认证服务
  • 整合应用的外部服务
  • 一个web应用所包括的css和javascript
  • 设计和应用css来增加web应用的界面交互
  • 使用django的cookies和sessions
  • 在应用中使用像ajax这样的高级功能
  • 用pythonanywhere部署你的应用到web服务器

2. n层结构

大多数web应用的结构是3-层结构.
如果我们用django来创建web应用的话,我们每层需要如下技术.

(1) client是一个浏览器(i.e. chrome, firefox, safari等等),它将返回 html/css页面.

(2) middleware是一个django应用,它会贯穿开发django内建web服务的始终.

(3) database;search api

3.页面和url映射

4.实体关系图

二、开发准备

1.安装python

2.安装django

3.安装git

4.搭建虚拟环境

三、django基础

1.测试django是否安装成功

2.创建django项目:

python django-admin.py startproject

3.创建django应用:

  1. $ python manage.py startapp
  2. 在项目的urls.py文件映射应用.
  3. 在应用目录里创建urls.py文件使url字符串指向视图.
  4. 在应用的view.py里,创建的视图要确保返回一个httpresponse对象.

4.创建视图

配置view.py

5.url映射

给每一个应用配置urls.py文件,然后汇总到根目录下的urls.py文件

四、模版与静态媒体的基本流程

  1. 首先,创建你希望使用的模板并把它保存在templates目录里,这个目录需要你写入settings.py文件.你可以在模板里使用django模板变量(例如{{ bariable_name }}).你可以在视图里更换这些变量.
  2. 在应用的views.py文件里查找或者创建一个新的视图.
  3. 增加视图逻辑.例如你可以从数据库里获得数据.
  4. 在视图里,创建一个字典对象可以吧模板内容传递给模板引擎.
  5. 使用render()函数来生成返回.确保引用request,然后是模板文件,最后是内容字典!
  6. 如果你还没有修改urls.py文件或者应用中的urls.py中的映射,你需要修改一下.
  7. 在页面上获取一个静态媒体文件.
  8. 把你要添加的静态文件放入static目录.这个目录是你在settings.py中设置的staticfiles_dirs元组.
  9. 在模板中添加静态媒体引用.例如一个html网页的图片用个人博客开发-笔记标签.
  10. 记得用{% load staticfiles %}和{% static "filename" %}命令在模板中设置静态文件.

五、模型与数据库

1. 确定需求
2. 设置数据库

当开始新django项目,需要先告诉django你想使用的数据库(例如设置settings.py中的databases).你也可以在admin.py文件里注册任何模型.

3. 加入模型

(1) 首先,在你的应用里的models.py文件里创建新的模型.

(2) 修改admin.py注册你新加的模块.

(3) 然后进行迁移$ python manage.py sqlmigrate