Django 框架入门
1.创建虚拟环境。(如果你想在你的服务器中运行多个项目,那么装虚拟环境是最好的选择)
pip install virtualenv
pip install virtualenvwrapper
安装好后,
创建一个虚拟环境,mkvirtualenv -p python3 py3_django 报错,mkvirtualenv 不是command,我们添加环境变量
vi /root/.bashrc
将
export WORKON_HOME=$HOME/.virtualenvs
source
/usr/local/bin/virtualenvwrapper.sh
这2段代码写入其中再次运行
source /root/.bashrc
在python3中,再次创建虚拟环境mkvirtualenv -p python3 py3_django
然后进入虚拟环境:
workon py3_django
安装django:
pip install django ==1.11.11 (我想安装老版本的)
2.部署django项目
django-admin startproject demo
这里我加个命令 安装下tree 命令,可以查看 文件结构或者ls -R 也是可以的
3.运行开发服务器
python manage.py runserver ip:端口
运行之后,在浏览器打开,默认是127.0.0.1:8000
但是显然,我们用的是远程服务器,本地是可以的,所以这里我们要修改下路由,

填上我们的远程服务器ip
再次运行
python manage.py runserver 0.0.0.0:8000(默认是8000端口)
OK,在浏览器打开输入ip:8000得到
django的欢迎界面。
1. 创建
在django中,创建子应用模块目录仍然可以通过命令来操作,即:
python manage.py startapp 子应用名称
manage.py 为上述创建工程时自动生成的管理文件。
例如,在刚才创建的demo工程中,想要创建一个用户users子应用模块,可执行:
cd ~/Desktop/code/demo
python manage.py startapp users
执行后,可以看到工程目录中多出了一个名为users的子目录。
2. 子应用目录说明
查看此时的工程目录,结构如下:
- admin.py 文件跟网站的后台管理站点配置相关。
- apps.py 文件用于配置当前子应用的相关信息。
- migrations 目录用于存放数据库迁移历史文件。
- models.py 文件用户保存数据库模型类。
- tests.py 文件用于开发测试用例,编写单元测试。
- views.py 文件用于编写Web应用视图。
3. 注册安装子应用
创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。
在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:
注册安装一个子应用的方法,即是将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表中。
例如,将刚创建的users子应用添加到工程中,可在INSTALLED_APPS列表中添加'users.apps.UsersConfig'。
创建视图
同Flask框架一样,Django也用视图来编写Web应用的业务逻辑。
Django的视图是定义在子应用的views.py中的。
1. 创建
打开刚创建的users模块,在views.py中编写视图代码。
from django.http import HttpResponse
def index(request):
"""
index视图
:param request: 包含了请求信息的请求对象
:return: 响应对象
"""
return HttpResponse("hello the world!")
说明:
- 视图函数的第一个传入参数必须定义,用于接收Django构造的包含了请求数据的HttpReqeust对象,通常名为request。
- 视图函数的返回值必须为一个响应对象,不能像Flask一样直接返回一个字符串,可以将要返回的字符串数据放到一个HTTPResponse对象中。
2. 定义路由URL
1) 在子应用中新建一个urls.py文件用于保存该应用的路由。
2) 在users/urls.py文件中定义路由信息。
from django.conf.urls import url
from . import views
# urlpatterns是被django自动识别的路由列表变量
urlpatterns = [
# 每个路由信息都需要使用url函数来构造
# url(路径, 视图)
url(r'^index/$', views.index),
]
3) 在工程总路由demo/urls.py中添加子应用的路由数据。
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls), # django默认包含的
# 添加
url(r'^users/', include('users.urls')),
]
- 使用include来将子应用users里的全部路由包含进工程路由中;
- r'^users/' 决定了users子应用的所有路由都已/users/开头,如我们刚定义的视图index,其最终的完整访问路径为/users/index/。
include函数除了可以传递字符串之外,也可以直接传递应用的urls模块,如
from django.conf.urls import url, include
from django.contrib import admin
import users.urls # 先导入应用的urls模块
urlpatterns = [
url(r'^admin/', admin.site.urls),
# url(r'^users/', include('users.urls')),
url(r'^users/', include(users.urls)), # 添加应用的路由
]
4) 启动运行
重新启动django程序
python manage.py runserver


Django 框架入门的更多相关文章
- [Python] Django框架入门
说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...
- [Python] Django框架入门5——静态文件、中间件、上传图片和分页
说明: 本文主要描述Django其他的内容,涉及静态文件处理.中间件.上传文件.分页等. 开发环境:win10.Python3.5.Django1.10. 一.静态文件处理 在Django项目的静态文 ...
- [Python] Django框架入门2——深入模型
说明: 本文主要深入了解模型(models.py),涉及ORM简介.模型定义.模型成员.模型查询.自连接等.需要一定基础,可以先走一走基本入门流程. 附录一使用mysql数据库,附录二Django开发 ...
- [Python] Django框架入门4——深入模板
说明: 本文主要深入了解模板(templates),主要涉及模板编写步骤.定义模板.模板继承.HTML转义.CSRF等. 一.模板 动态生成HTML.表达外观.实现业务逻辑(view)与显示内容(te ...
- [Python] Django框架入门3——深入视图
说明: 本文主要深入了解视图(views.py),涉及路由配置.定义视图.Request对象.Response对象.状态保持等. 一.路由配置 1.配置位置(settings.py 的 ROOT_UR ...
- Django框架入门1虚拟开发环境的配置
1.安装virtualenv虚拟程序 C:\Users\ws>pip install virtualenv 创建名字为testvir的虚拟环境 C:\Users\ws>virtualenv ...
- 教程:Visual Studio 中的 Django Web 框架入门
教程:Visual Studio 中的 Django Web 框架入门 Django 是高级 Python 框架,用于快速.安全及可扩展的 Web 开发. 本教程将在 Visual Studio 提供 ...
- Django 框架搭建入门案例
1. 什么是 web 框架 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端; # 示例: import socket def handle_re ...
- Python必学Django框架,入门到精通学习视频教程全都在这可以领
“人生苦短,我用python”,学python的小伙伴应该都了解这句话的含义.但是,学python,你真正了了解强大的Django框架吗!? 据说Django还是由吉普赛的一个吉他手的名字命名的呢,有 ...
随机推荐
- Spring for Apache Kafka @KafkaListener使用及注意事项
官方文档: https://docs.spring.io/spring-kafka/reference/html/ @KafkaListener The @KafkaListener annota ...
- Spring MVC REST 风格的 URL
前言 本文主要内容为 REST 风格的 URL. REST REST(Representational State Transfer).(资源)表现层状态转化.它是一种架构风格,用 url 来访问网络 ...
- 在NSUserDefaults中保存自己定义的对象
在iOS开发中.须要用到一些回调值(从A到B,从B返回时把B中的值带回A中).事实上方法也非常多(delegate,block.nsuserdefaults等).我想用NSUserDefaults回调 ...
- sql server 2008安装图解
本篇文章介绍了安装SQL Server 2008企业版的软硬件配置要求,安装过程的具体步骤,以及须要注意的事项. 步骤/方法 1 在这里我们将用图解的方式.来介绍SQL Server 2008安装和配 ...
- jQuery总结02
1 如何搭建一个 jQuery 环境? 2 jQuery 对象与 DOM 对象一样吗?区别是什么? 3 jQuery选择器类型有哪些?
- 10.3arcmap矢量数据制作步骤
注意:在制作之前需要点将图放到原本大小.并且保存一下不然容易造成数据丢失. 在数据制作之前需要新建一个页面,用来放需要处理的原始数据 勾选ArcMap中Customize——ArcMap Option ...
- C++重载运算符简单总结
当运算符作用于类类型的运算对象时,可以通过运算符重载重新定义该运算符的含义.明智的使用运算符重载能令我们的程序更易于编写和阅读. 一.基本概念 什么是运算符重载?重载的运算符是具有特殊名字的函数:它们 ...
- How to use shared model by git in sql source control of red gate
1.clone the git repository for datbase 2.open sql source control window and select the target databa ...
- ConcurrentDictionary中的 TryRemove
class A { internal int value; } ConcurrentDictionary<int, A> dic = new ConcurrentDictionary< ...
- JS容易犯错的this和作用域
var someuser = { name: 'byvoid', func: function() { console.log(this.name); } }; var foo = { name: ' ...