django开发个人简易Blog——构建项目结构

开发之前第一步,就是构造整个的项目结构。这就好比作一幅画,第一步就是描绘轮廓,有了轮廓,剩下的就是慢慢的填充细节。项目结构规划如下图:

项目结构描述:

本项目以fengzhengBlog为根目录。

admin、blogapp是两个app目录,用于实现项目主要功能:包括模型定义、视图定义等

css、js、images分别为样式文件、js、图片的静态文件存放目录。

template目录存放模板文件。

ueEditor是富文本编辑器uEditor的目录。

settings.py是全局配置文件,urls.py是路由配置文件

以下操作全部是在windows系统下完成。

1.创建项目

进入项目要存放的目录,在命令行中输入如下指令:

#django-admin.py 在你的python安装目录的Lib\site-packages\django\bin目录下
python G:\python\Python\Python2.7Install\Lib\site-packages\django\bin\django-admin.py startproject fengzhengBlog

之后会生成如下目录结构:

fengzhengBlog

|__fengzhengBlog

|__init.py        #有这个文件说明这个目录是python的一个包 可以为空

|__settings.py #全局配置文件

|__urls.py        #路由文件

|__wsgi.py       #web服务器网关接口 启动django时用

|__manage.py    #可以通过python manage.py runserver 启动网站(仅开发时使用)

2.创建blogapp,django中,一个项目下可以有多个app,每一个app可以是一块相对独立的功能模块,本例中,比较简单,blogapp就是博客管理功能模块。负责博客系统的文章、分类等的统一管理工作。

进入fengzhengBlog/fengzhengBlog目录,在命令窗口中执行如下命令:

python ../manage.py startapp blogapp

生成app的结构如下:

fengzhengBlog

|__blogapp

|__migrations  #修改Model后可以在不影响现有数据的前提下重建表结构

|__init.py        #有这个文件说明这个目录是python的一个包 可以为空

|__admin.py  #用于注册和设置模型的后台管理功能

|__models.py   #模型定义文件

|__test.py       #单元测试文件

|__views.py  #视图

3.添加静态文件目录js、images、css,并在urls.py中配置静态目录的路由。urls.py配置如下:

( r‘^css/(?P<path>.*)$‘, ‘django.views.static.serve‘,
            { ‘document_root‘: os.path.dirname(__file__) + ‘/css‘ }
),
( r‘^js/(?P<path>.*)$‘, ‘django.views.static.serve‘,
            { ‘document_root‘:  os.path.dirname(__file__) + ‘/js‘ }
),
( r‘^images/(?P<path>.*)$‘, ‘django.views.static.serve‘,
            { ‘document_root‘:  os.path.dirname(__file__) + ‘/images‘ }  #这里也可以写绝对路径
),

4.创建ueEditor目录,将百度uEditor集成进来,集成过程可参考Django集成百度富文本编辑器uEditor

至此,项目结构规划完毕,下面,创建一个简单的模板,添加一些简单的html、js、图片等,查看是否正常运行。

在template目录下新建一个html文件,命名为test.html,内容如下:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
  	<script type="text/javascript" src="/js/test.js"></script>
  	<link rel="stylesheet" href="/css/bootstrap.min.css">
  </head>
  <body>
  <div style="margin:20px auto auto 10px;">
  	<image src="http://images.cnblogs.com/png_favicon.png"/>
  	<button type="button" class="btn" onclick="test()"><i>{{ btnvalue }}</i></button>
  </div>
  <body>
 </html>

在js目录添加test.js脚本文件,定义内容如下:

function test(){
	alert(‘hello django‘);
}

在images目录下添加png_favicon.png图片。

在css目录下增加bootstrap.min.css文件。

在urls.py文件中添加路由映射:

url(r‘^test$‘,‘fengzhengBlog.views.test‘),

在views.py中定义视图处理方法:

#-*- coding:utf-8 -*-

from django.shortcuts import render_to_response

def test(request):
    return render_to_response("test.html",{"btnvalue":"我是动态标记内容,clicke me"})

之后运行命令:

python manage.py runserver 1989

之后再在浏览器中输入http://127.0.0.1:1989/test  ,打开开发人员工具,观察发现图片、样式文件、脚本文件都已经加载成功:

查看页面,发现图片正常加载,而且模板中的动态参数也正常获取,点击按钮,脚本正常执行

django开发个人简易Blog——构建项目结构,布布扣,bubuko.com

时间: 2024-10-17 05:33:18

django开发个人简易Blog——构建项目结构的相关文章

django开发个人简易Blog——数据模型

提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常灵活,在ASP.NET上表现的尤为强烈,传统的ASP.NET开发常常用到好多臃肿的服务器端控件,定制起来非常麻烦而且具有局限性.近年来,MVC遍地开发,在java.php.ruby..NET,甚至javascript中都有对应的MVC框架,当然了,django也是其中之一. 数据模型作为MVC的一部

django开发个人简易Blog—nginx+uwsgin+django1.6+mysql 部署到CentOS6.5

前面说完了此项目的创建及数据模型设计的过程.如果未看过,可以到这里查看,并且项目源码已经放大到github上,可以去这里下载. 代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/ 先跳过视图展示及表单处理的部分,先介绍一下如何部署. 标题中已经把部署环境介绍的很清楚了: 服务器:CentOS6.5 其实就是我的开发机 mysql:Server version: 5.1.73 Source distribution nginx版本: nginx/1

云笔记开发记录一:node-webkit 项目结构?

node-webkit 项目结构? 一般用过nodejs写过点小东西的人,都应该知道nodejs项目一般都有一个package.json文件,这个package.json文件,该文件定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据). 为什么要提 nodejs 的 package.json文件 呢,因为, node-webkit 项目它也有自己的 package.json文件 . 但是这两者是不同的! node-webkit的package.json是用来配置n

【前端小小白的学习之路】vue学习记录(vue-cli脚手架构建项目结构)

我们直接从vue的工程化开始入手. 在这里用git命令行搭建项目环境.(当然直接cmd命令行下也是一样的) git下载安装地址:https://www.git-scm.com/download/win git使用教程:http://www.cnblogs.com/havenshen/p/3493522.html git常用命令整理:http://www.cnblogs.com/luxiaoxing/p/7545403.html 1.node安装. node下载安装地址:http://nodejs

使用Spring Roo构建项目

使用Spring Roo构建项目 结构概述 Architectural Overview 关键技术 Critical Technologies 实体层 Entity Layer 1 初始化项目 2 安装持久化工具 3 创建实体 4 创建字段 网络层 Web Layer 1 建立Web层 2 创建控制器 服务层 Services Layer 库层 Repository Layer Maven JSON Add-On 使用Spring Roo构建项目 1. 结构概述 Architectural Ov

golang 接口开发入门01- 从0开始构建项目

之前写了两篇golang开发入门文章,太过潦草,赶着10.1 放假的前夕,想着还是要认真对待自己写的东西,记录学习的点滴,以后也许会忘了现在学习的东西,但是好歹留下一些文字,同时也希望能给花时间读我博客的人真正有些帮助. 前期准备 因为golang 之前断断续续学过一点,所以现在就以开发一个用户管理这样简单的功能入手.如果你现在在看我的这篇文章,你需要要具备以下知识点 1.golang 开发环境搭建 2.golang 的基本语法 3.面向对象和mvc开发思想 搭建项目 我使用eclipse作为开

Django入门第一步:构建一个简单的Django项目

Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将按照以下步骤创建功能完备的Web应用程序,并一路学习框架的一些最重要的功能以及它们如何协同工作. 学习目标: 了解Django是什么以及为什么他是一个伟大的web框架 了解Django的体系结构以及与其他框架的对比 独立搭建一个简单的Django项目和应用程序(app) 2.为什么要学习Django

【Vue CLI】从安装到构建项目再到目录结构的说明 &#196968;

目录 1. 构建我们的项目 2. 目录结构说明 2.1 build目录 2.2 config目录 2.3 src目录 2.4 static目录 原文: http://blog.gqylpy.com/gqy/284 "Vue CLI是一个基于Vue.js进行快速开发的完整系统. Vue CLI致力于将Vue生态中的工具基础标准化.它确保了各种构建工具只需给予智能的默认配置便可平稳衔接. 这样我们就可以专注在撰写应用上,而不必花好几天去纠结配置的问题.于此同时,它还为每个工具提供了调整配置的灵活性.

上门洗车APP --- Androidclient开发 之 项目结构介绍

上门洗车APP --- Androidclient开发 之 项目结构介绍 前言 尽管公司项目较紧,但还是抽空给大家继续更新. o_O"~ 欢迎大家的关注,非常高兴和大家共同学习.前面给大家分享了项目中的以下内容: 上门洗车APP --- Androidclient开发 前言及业务简介 上门洗车APP --- Androidclient开发 之 网络框架封装介绍(一) 上门洗车APP --- Androidclient开发 之 网络框架封装介绍(二) 之前有非常多朋友私信过来说想打包一份源代码学习