python web -- django
一. 安装 django
$ pip install django
(env)$ python
>> import django
>> django.VERSION
>> django.get_version()
二. 项目结构
$ django-admin.py startproject mysite . # 注意后面的 '点' .
$ tree
mysite/
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
$ python manage.py runserver 8000 # 启动服务器.
文件职责介绍:
urls.py : 网址入口,关联到对应的 views.py 的中的一个函数(或generic类),访问网址对应一个函数.
views.py : 处理用户发出的请求, 从 urls.py 中对应过来, 通过渲染 templates 中的网页可以将显示的内容.
models.py : 与数据库操作有关,存入或存取数据时使用,可以不用.
forms.py : 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,可以不用.
templates 文件夹 : views.py 中的函数渲染 templates 中的html模板,得到动态内容网页,可用缓存来提升速度.
admin.py : 后台,可以用少量的代码,拥有一个强大的后台.
settings : Django的设置,配置文件,比如 DEBUG 开关,静态文件的位置等.
每个视图函数至少需要一个参数, 通常叫做 request , 这是一个触发这个视图, 包含当前 web 请求信息的对象, 是类 django.http.HttpRequest 的一个实例.
一个视图就是 Python 的一个函数, 这个函数第一个参数的类型是 HttpRequest, 它返回一个 HttpResponse 实例, 为了使一个 Python 的函数成为一个 Django 可识别的函数, 它必须满足这两个条件.
三. 命令汇总
# 新建一个 django project
$ django-admin.py startproject PROJECT_NAME
# 新建 app
$ python manage.py startapp APP_NAME
$ django-admin.py startapp APP_NAME # 同上
** 一般一个项目有多个app,当然通用的app也可以在多个项目中使用
# 同步数据库
$ python manage.py syncdb
** 当 Django 1.7.1 及以上版本需使用以下命令:
$ python manage.py makemigrations
$ python manage.py migrate
** 这种方法可以创建表,当你在 models.py 中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建.
** 对已有的 models 进行修改,Django 1.7 之前的版本的Django都是无法自动更改表结构的, 不过有第三方工具 south
# 使用开发服务器 :
开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
$ python manage.py runserver
$ python manage.py runserver 8001
$ python manage.py runserver 0.0.0.0:8000
# 清空数据库 :
$ python manage.py flush # 会询问 yes 还是 no. yes 会把数据全部清空,只留下空表.
# 创建超级管理员 :
$ python manage.py createsuperuser # 用户名,密码必填,邮箱可留空.
$ python manage.py changepassword username # 修改用户密码.
# 导入导出数据
$ python manage.py dumpdata appname > appname.json
$ python manage.py loaddata appname.json
# Django 项目环境终端.
$ python manage.py shell # 如果你安装了 bpython 或 ipython 会自动用它们的界面,推荐安装 bpython。
** 这个命令和 直接运行 python 或 bpython 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
# 数据库命令行
$ python manage.py dbshell
Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。
在这个终端可以执行数据库的SQL语句。
# 更多命令 :
$ python manage.py # 查看命令列表.
$ python manage.py help <subcommand>
# 获取帮助 :
$ python manage.py --help
$ python manage.py help [SUB_CMD]
# 后台管理密码
$ python manage.py createsuperuser
user : admin
password : 123456
$ curl http://example.com/admin
python web -- django的更多相关文章
- python web——Django架构
环境:windows/linux/OS 需要的软件:Firefox 浏览器(别的也可以 不过firfox和python的webdriver兼容性好) git版本控制系统(使用前要配置 用户 编辑器可以 ...
- python web django base skill
web框架本质 socket + 业务逻辑 框架实现socket tonado node.js 使用WSGI实现socket django flask 自己实现框架思路 wsgiref socket ...
- python web django 2nd level -- 待更新
练习代码位置 实例代码位置 --> app: myblog Form 利用Form表单验证,自己写的html 思路: 新建一个类 LoginForm(forms.Form) 新建对象 obj = ...
- [Python] 利用Django进行Web开发系列(一)
1 写在前面 在没有接触互联网这个行业的时候,我就一直很好奇网站是怎么构建的.现在虽然从事互联网相关的工作,但是也一直没有接触过Web开发之类的东西,但是兴趣终归还是要有的,而且是需要自己动手去实践的 ...
- [Python] 利用Django进行Web开发系列(二)
1 编写第一个静态页面——Hello world页面 在上一篇博客<[Python] 利用Django进行Web开发系列(一)>中,我们创建了自己的目录mysite. Step1:创建视图 ...
- python web框架——扩展Django&tornado
一 Django自定义分页 目的:自定义分页功能,并把它写成模块(注意其中涉及到的python基础知识) models.py文件 # Create your models here. class Us ...
- 全面解读Python Web开发框架Django
全面解读Python Web开发框架Django Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django ...
- Nginx+Python+uwsgi+Django的web开发环境安装及配置
Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...
- Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器
Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...
随机推荐
- 阿里云CentOS7.2服务器的安装
第一步:下载服务器系统ISO安装文件 我使用的是阿里云的镜像:因为阿里云的服务在国内相对比较成熟 服务器镜像下载如下:http://mirrors.aliyun.com/centos/7/isos/x ...
- eclipse 创建maven模块
先创建一个聚合模块. 勾选Create a simple project 点击finish . 看到已经创建好了这个聚合. 接下来我们创建子模块.pay-hk pay-web 两个字模块,前面一个是 ...
- java泛型探索——介绍篇
1. 泛型出现前后代码对比 先来看看泛型出现前,代码是这么写的: List words = new ArrayList(); words.add("Hello "); words. ...
- hdu2089 不要62 我的第一个数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位DP的入门题,我是根据kuangbin的博客写出来的 思路: dp[i][0],表示长度为i ...
- 第三章 霍夫变换(Hough Transform)
主要内容: 霍夫变换的作用 霍夫变换检测直线的原理 霍夫变换检测圆的原理 OpenCV中的霍夫变换 1.霍夫变换检测直线原理 霍夫变换,英文名称Hough Transform,作用是用来检测图像中的直 ...
- springboot(四):thymeleaf使用详解
在上篇文章springboot(二):web综合开发中简单介绍了一下thymeleaf,这篇文章将更加全面详细的介绍thymeleaf的使用.thymeleaf 是新一代的模板引擎,在spring4. ...
- 18个你可能不相信是用CSS制作出来的东西
与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力.还有很多其他的事情,CSS也可以做的很好.由于它创建动画和交互的能力,CSS集合HTML以及JavaScrip ...
- 1、在eclipse中导入Java的jar包方法---JDBC【图文说明】
1.Eclipse环境下jar包导入 在Eclipse环境下编写Java程序,常常会借用到各种jar包.如:连接数据库时,导入jar包是必须的.导入方法如下: 1.打开eclipse,右击要导入jar ...
- 聊一聊JQ中delegate事件委托的好处
下面举个例子 我们希望通过点击使得点击的li标签变红 <body style="height:2000px;"> <ul> <li>1111&l ...
- (数字IC)低功耗设计入门(五)——RTL级低功耗设计(续)
二.RTL级低功耗设计(续) 前面一篇博文我记录了操作数隔离等低功耗设计,这里就主要介绍一下使用门控时钟进行低功耗设计. (4)门控时钟 门控时钟在我的第一篇博客中有简单的描述,这里就进行比较详细的描 ...