1.需求分析必不可少,一定要具体列出本次网站项目所要实现的目标,可能包括简单的页面草图与功能方块图等。

2.数据库设计。

3.了解网站的每一个页面,并设计网页模板(.html)文件

4.使用virtualenv创建并启用虚拟机环境

5. 使用pip install django==1.11.13

6.使用django-admin startproject 项目名 生成项目

7.使用python manage.py startapp appname 创建app

apps路径加入根目录

import os
import sys # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,BASE_DIR)
sys.path.insert(0,os.path.join(BASE_DIR,"apps"))

  

8.创建templates 文件夹,并把所有网页模板文件放在此文件夹中

9.创建static文件夹,并把所有静态文件(css,js,images)都放在此文件夹中。

10.修改setting.py 把相关配置文件夹都加入(STATICFILES_DIRS,templates,media...)也把生成的app名称加入INSTALL_APPS序列中。

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,"templates")],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

  

STATICFILES_DIRS=[
os.path.join(BASE_DIR,"static")
]

 

MEDIA_URL ='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
AUTH_USER_MODEL = "users.UserProfile"
替换系统用户

 

11.编辑models.py 创建数据库表格。

数据库配置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'phone',
'USER':'root',
'PASSWORD':'root',
'HOST':'',
'PORT':''
}
}

settings.py

#设置时区
LANGUAGE_CODE = 'zh-hans' #中文支持,django1.8以后支持;1.8以前是zh-cn
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False #默认是Ture,时间是utc时间,由于我们要用本地时间,所用手动修改为false!!!!

  

12.编辑views.py ,先import models.py中创建的数据模型。

13.admin.py 这个可以用xadmin代替

14.编辑views.py设计处理数据相关模块,输入输出都是通过templates相关模块操作来获取来自网页的输入数据,以及显示.html文件的网页内容。

15.编辑urls.py 先import views.py中定义的模块。

16.编辑urls.py 创建网址和views.py中定义模块的对应关系。

17.执行python manage.py makemigrations

18. 执行python manage.py migrate

19. 执行python manage.py runserver 127.0.0.1:8000 测试网站。

20.伪上线settings.py

DEBUG = False
ALLOWED_HOSTS = ['*'] STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,"static")
# STATICFILES_DIRS = [
# os.path.join(BASE_DIR,"static")
# ]
MEDIA_URL ="/media/"
MEDIA_ROOT = os.path.join(BASE_DIR,"media")

  

from django.views.static import serve
from ship_monitoring.settings import STATIC_ROOT urlpatterns = [
# url(r'^xadmin/$', xadmin.site.urls),
url(r'^static/(?P<path>.*)$', serve, {"document_root": STATIC_ROOT}),#虽然说在实际情况中用nginx部署静态资源,但测试可以用
]

  

STATIC_ROOT 是在部署静态文件时(pyhtonmanage.pycollectstatic)所有的静态文静聚合的目录,STATIC_ROOT要写成绝对地址,在这里,比如我的项目mysite是/home/mysite/ 
那么STATIC_ROOT 为 /home/mysite/collect_static/ 
当部署项目时,在终端输入:

python manage.py collectstatic

django会把所有的static文件都复制到STATIC_ROOT文件夹下

21.真实上线setting.py:

举一个小栗子,我把资源部署在了另外一台服务器上地址为120.79.129.45

DEBUG = False
ALLOWED_HOSTS = ['*'] STATIC_URL = '//120.79.129.45/static/'
# STATIC_ROOT = os.path.join(BASE_DIR,"static")
# STATICFILES_DIRS = [
# os.path.join(BASE_DIR,"static")
# ]
MEDIA_URL ="//120.79.129.45/media/"
MEDIA_ROOT = os.path.join(BASE_DIR,"media")

步骤基本上就是这些,某些步骤要反反复复进行,直至网页开发完成。

django MTV架构下的网站开发步骤的更多相关文章

  1. 【PHP】Sublime下PHP网站开发指南

    Sublime下PHP网站开发指南 作者:白宁超 2017年3月16日11:03:17 摘要:随着单位开发项目的需求,关于政务办公多年来一直使用php开发管理平台.笔者早年asp开发经验算是有些帮助, ...

  2. 以用户注册功能模块为例浅谈MVC架构下的JavaWeb开发流程

    JavaWeb应用开发,撇开分布式不谈,只讨论一个功能服务应用的开发,无论是使用原生的Servlet/JSP方案,还是时下的SSM架构,都有一套经过工程实践考验的最佳实践,这综合考虑了团队协作.项目管 ...

  3. 用lnmp架构部署wordpress网站详细步骤

    用lnmp架构部署wordpress网站 ①.下载和上传网站代码 用winscp或者xftp, 或者xshell下执行rz命令进行上传网站的包文件. ②.解压程序代码,并将程序代码保存到站点目录,并进 ...

  4. 简述ASP.NET网站开发步骤

    新建解决方案 清除解决方案 重新生成解决方案 发布应用程序 设置配置文件 重命名配置文件 发布后生成的文件 IIS安装 安装完成后,输入http://localhost/出现 打开IIS 添加自己的网 ...

  5. 基于jeesit下的工作流开发步骤

    首先jeesit是开源的OA系统,采用的框架是springMVC和mybatis,采用shiro安全验证. 1.新建流程所属表: 在数据库新建所需工作流的表之后,登录jeesit系统,在“代码生成”- ...

  6. C#ASP.NET网站开发步骤

    1. 创建项目ASP.NET Web 应用程序. 2. 选择"Web 窗体"模板,然后单击 "确定" 按钮创建项目. 3. 在解决方案资源管理器中,右键添加we ...

  7. python框架Django中的MTV架构

    MTV架构 关注公众号"轻松学编程"了解更多. ​ 通过V对M和T进行连接,用户通过T(界面)对服务器进行访问(发送请求),T把请求传给V(调度),V调用M(数据模型)获取数据,把 ...

  8. ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构

    上次把member的用户部分完成,现在开始做文章管理部分.文章部分根据涉及显示现实文章列表,发布文章,修改文章,删除文章等功能.最终的实现目标是使用权限来控制用户是否能进行相应操作,管理员权限的会显示 ...

  9. Django开发步骤

    Django开发步骤 Django框架每次开发的初始化的套路都基本一样,这里记录一下. 安装Django 首先安装Python软件,上python官网下载对应的安装包.接下来就是安装Django: p ...

随机推荐

  1. Bluedroid 函数分析:bta_dm_gattc_register

    我们先来看看在bluedroid 里面有多少地方调用到这里: 可以看出除了 它自己声明的地方,有三处 调用到这个函数. 一处是 进行discovery,一处是进行search的时候,还有一次是bta_ ...

  2. 【持续更新中···】Linux下的小技巧

    1.Linux回到上级文件的命令: cd ..回到上一级目录(注意:cd 和..中间有空格) cd ~回到home目录 cd -回到某一目录

  3. LeetCode Pow(x, n) (快速幂)

    题意 Implement pow(x, n). 求X的N次方. 解法 用正常的办法来做是会超时的,因为可能有21亿次方的情况,所以需要优化一下.这里用到了快速幂算法,简单来说就是将指数分解成二进制的形 ...

  4. Elasticsearch学习总结 (Centos7下Elasticsearch集群部署记录)

    一.  ElasticSearch简单介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticse ...

  5. Wannafly挑战赛25 B.面积并

    链接 [https://www.nowcoder.com/acm/contest/197/B] 分析 特殊优先考虑 首先考虑r>=l这种情况就是圆的面积了 第二就是r<=内切圆的半径,这个 ...

  6. Linux内核及分析 第四周 扒开系统调用的三层皮(上)

    实验过程 选择20号系统调用getpid(取得进程识别码) 在网上查询getpid函数的C语言代码以及其嵌入式汇编语句 C语言代码: #include <stdio.h> #include ...

  7. Linux内核 实践二

    实践二 内核模块编译 20135307 张嘉琪 一.实验原理 Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一个单内核.单内核由于所有内容 ...

  8. Windows10安装ubuntu & caffe GPU版

    1.Ubuntu https://www.cnblogs.com/EasonJim/p/7112413.html https://blog.csdn.net/jesse_mx/article/deta ...

  9. PAT 1076 Wifi密码

    https://pintia.cn/problem-sets/994805260223102976/problems/994805262622244864 下面是微博上流传的一张照片:“各位亲爱的同学 ...

  10. OpenCV Code: Operations on Mat element

    cv::Mat img = cv::imread("image.jpg"); Method 1: img.at<uchar>(i, j, k) Method 2: im ...