创建虚拟环境

mkvirtualenv django_py3_1.11 -p python3

注意需要联网

安装Django

使用django 1.11.11版本,注意需要联网

pip install django==1.11.11

复习虚拟环境和pip的命令

# 虚拟环境
mkvirtualenv  # 创建虚拟环境
rmvirtualenv  # 删除虚拟环境
workon  # 进入虚拟环境、查看所有虚拟环境
deactivate  # 退出虚拟环境# pip
pip install  # 安装依赖包
pip uninstall  # 卸载依赖包
pip list  # 查看已安装的依赖包
pip freeze  # 冻结当前环境的依赖包

创建工程

创建工程的命令为:

django-admin startproject 工程名称
  • 与项目同名的目录,此处为demo。
  • settings.py 是项目的整体配置文件。
  • urls.py 是项目的URL配置文件。
  • wsgi.py 是项目与WSGI兼容的Web服务器入口。
  • manage.py 是项目管理文件,通过它管理项目

运行开发服务器

python manage.py runserver ip:端口
或:
python manage.py runserver

可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。

创建子应用

在django中,创建子应用模块目录仍然可以通过命令来操作,即:

python manage.py startapp 子应用名称

manage.py 为上述创建工程时自动生成的管理文件。

  • admin.py 文件跟网站的后台管理站点配置相关。
  • apps.py 文件用于配置当前子应用的相关信息。
  • migrations 目录用于存放数据库迁移历史文件。
  • models.py 文件用户保存数据库模型类。
  • tests.py 文件用于开发测试用例,编写单元测试。
  • views.py 文件用于编写Web应用视图。

注册安装子应用

注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。

例如,将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加'users.apps.UsersConfig'。

创建视图

打开刚创建的users模块,在views.py中编写视图代码。

from django.http import HttpResponsedef index(request): """ index视图 :param request: 包含了请求信息的请求对象 :return: 响应对象 """ return HttpResponse("hello the world!"

说明:

  • 视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。
  • 视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。

在users/urls.py文件中定义路由信息。

from django.conf.urls import urlfrom . import views# urlpatterns是被django自动识别的路由列表变量 urlpatterns = [ # 每个路由信息都需要使用url函数来构造 # url(路径, 视图) url(r'^index/$', views.index), ] 

在工程总路由demo/urls.py中添加子应用的路由数据。

from django.conf.urls import url, include
from django.contrib import adminurlpatterns = [url(r'^admin/', admin.site.urls), # django默认包含的 # 添加 url(r'^users/', include('users.urls')), ] 
  • 使用include来将子应用users里的全部路由包含进工程路由中;
  • r'^users/' 决定了users子应用的所有路由都已/users/开头,如我们刚定义的视图index,其最终的完整访问路径为/users/index/。

启动运行

重新启动django程序

python manage.py runserver
 

路由命名与reverse反解析(逆向)

路由命名

在定义路由的时候,可以为路由命名,方便查找特定视图的具体路径信息。

1) 在使用include函数定义路由时,可以使用namespace参数定义路由的命名空间,如

url(r'^users/', include('users.urls', namespace='users')),

命名空间表示,凡是users.urls中定义的路由,均属于namespace指明的users名下。

命名空间的作用:避免不同应用中的路由使用了相同的名字发生冲突,使用命名空间区别开。

2) 在定义普通路由时,可以使用name参数指明路由的名字,如

urlpatterns = [url(r'^index/$', views.index, name='index'),url(r'^say', views.say, name='say'),
]

reverse反解析

使用reverse函数,可以根据路由名称,返回具体的路径,如:

from django.core.urlresolvers import reverse  # 注意导包路径def index(request): return HttpResponse("hello the world!") def say(request): url = reverse('users:index') # 返回 /users/index/ print(url) return HttpResponse('say') 
  • 对于未指明namespace的,reverse(路由name)
  • 对于指明namespace的,reverse(命名空间namespace:路由name)

静态文件

项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。

为了提供静态文件,需要配置两个参数:

  • STATICFILES_DIRS 存放查找静态文件的目录
  • STATIC_URL 访问静态文件的URL前缀

示例

1) 在项目根目录下创建static_files目录来保存静态文件。

2) 在demo/settings.py中修改静态文件的两个参数为

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_files'),
]

3)此时在static_files添加的任何静态文件都可以使用网址 /static/文件在static_files中的路径 来访问了。

例如,我们向static_files目录中添加一个index.html文件,在浏览器中就可以使用127.0.0.1:8000/static/index.html来访问。

或者我们在static_files目录中添加了一个子目录和文件goods/detail.html,在浏览器中就可以使用127.0.0.1:8000/static/goods/detail.html来访问。

注意

Django 仅在调试模式下(DEBUG=True)能对外提供静态文件。

当DEBUG=False工作在生产模式时,Django不再对外提供静态文件,需要是用collectstatic命令来收集静态文件并交由其他静态文件服务器来提供。



转载于:https://www.cnblogs.com/yunlongaimeng/p/9785138.html

Django Web开发基础环境配置流程相关推荐

  1. Eclipse 进行 web开发的环境配置

    文章目录 Eclipse进行web项目编写 JDK11 安装配置 JDK下载安装 JDK环境配置 Eclipse IDE 2018-12(64位) 下载安装 下载 界面及举例 Tomcat-9.0.1 ...

  2. 前端基础入门第一阶段-Web前端开发基础环境配置

    Web前端和全栈的定义: A.什么是传统传统web前端:需要把设计师的设计稿,切完图,写标签和样式,实现JS的效果,简而言之即只需要掌握HTML的页面结构,CSS的页面样式,javaScript页面的 ...

  3. 【重磅推荐】centos7新装系统基础环境配置流程【完整搬家基本软件安装】

    必备基础软件大全: # 运行命令netstat yum install net-tools -y# tab自动补全 yum -y install bash-completion centos7实时同步 ...

  4. 【weex开发】环境配置流程

    1,安装node.js node官网下载,然后安装即可. 安装完成以后可以查看node和npm版本 $ node -v v6.11.3 $ npm -v 3.10.10 2,安装weex-toolki ...

  5. Django Web 开发极简实战

    课程介绍 本课程是一个系列基础教程,目标是带领读者上手实战 Django Web 开发,课程以 Django 1.10 为基础,通过一个在线视频网站的构建,实战化的介绍 Django Web 开发中涉 ...

  6. 掌握web开发基础系列--物理像素、逻辑像素、css像素

    思考一下 什么是物理像素?什么是css像素? 在 <掌握web开发基础系列--长度单位> 这篇文章中已经介绍过了css像素单位--px,这篇文章详细探讨一下设备物理像素和css像素之间的关 ...

  7. 提高生产力:Web开发基础平台WebCommon的设计和实现

    Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...

  8. 不过如此! jdk 的安装/配置环境变量 jdk与openjdk 的区别 jdk 官网下载所需账号密码 虚拟机基础环境配置 超详细安装教程/介绍 Ubuntu18.04 SDN软件定义网络实验

    前情提要:我们已经完成了虚拟机的联网.ssh + vmtools + net-tools + vim的基础环境配置.接下来将进行jdk的安装与环境变量的配置,并介绍jdk与openjdk的区别,分享一 ...

  9. Python Django Web开发入门-刘硕-专题视频课程

    Python Django Web开发入门-16018人已学习 课程介绍         使用强大的Django Web框架轻松高效的开发网站,各类web应用(微信公众平台) 课程收益     Dja ...

最新文章

  1. 关于c++预编译符的使用
  2. Servlet - HTTP超文本传输协议
  3. Http client 请求
  4. Cocoapods 第三方类库管理工具
  5. 【SeeMusic】视频编辑 ( 视频 X 坐标 | 视频 Y 坐标 | 视频旋转 | 视频扭曲 )
  6. 辨析Java与Javascript
  7. c语言冒泡排序(解析)
  8. 3d geometric model website http://www.cse.ohio-state.edu/~tamaldey/
  9. indesign如何画弧线_【美妆】鼻影怎么画,才能拥有比例完美的鼻子?
  10. 重构指南 - 封装条件(Encapsulate Conditional)
  11. input输入框清除样式
  12. JavaWeb图书管理系统.rar(毕业设计(论文)+毕业设计指导书+大学毕业设计任务书+图书管理系统+毕业论文答辩)
  13. 关于SWAT模型的一些原理(二)
  14. Java中文乱码解决方式
  15. 如何查看计算机硬盘规格大小,台式机硬盘如何查看大小
  16. 局域网互传文件工具_如何在 iOS、Android、macOS、Windows 之间快速文件互传?
  17. maikr博客备份工具 3.0.0.0 详细介绍
  18. Excel数据分析(七)第六章数据透视表
  19. Android 点击换头像(拍照和从相册选择)
  20. 力扣 两数相加 C语言 题解

热门文章

  1. 01、python数据分析与机器学习实战——Python科学计算库-Numpy
  2. ubuntu16.04 安装ros
  3. 【机器视觉】 else算子
  4. 【C++】Visual Studio教程(六) -更新Visual Studio
  5. 【Linux系统编程】vfork() 函数详解
  6. 【Linux】一步一步学Linux——date命令(81)
  7. linux+android4.2键值关系,Android4.0 添加一个新的Android 键值
  8. Android 从ImageView中获取Bitmap对象方法
  9. 每天一道LeetCode-----杨辉三角
  10. 选择互斥 html,利用JS对两行Input radio 进行互斥选择。