最近开始接触django,一些基本的操作记录于此。

参考链接:

  http://www.ziqiangxuetang.com/django/django-tutorial.html

django安装

sudo apt-get install python-django -y

查看是否安装成功:

tony@T:~$ python
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 10, 2, u'final', 0)
>>> django.get_version()
'1.10.2'
创建工程

django-admin.py startproject myproject

工程名称myproject,此时工程内部的结构:

tree myproject
myproject/
├── manage.py
└── myproject
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

查看工程是否创建成功

cd myproject

运行django本地的服务器

python manage.py runserver

Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them. October 21, 2016 - 08:09:25
Django version 1.10.2, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
默认8000端口
当提示端口被占用的时候,可以用其它端口:
python manage.py runserver 8001
python manage.py runserver 9999 #监听所有可用 ip (电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
python manage.py runserver 0.0.0.0:8000
# 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器
# 访问对应的 ip加端口,比如 http://172.16.20.2:8000

登录网页查看

工程内创建app

在有manage.py文件目录中运行。

python manage.py startapp myapp

django-admin.py startapp myapp

定义视图处理函数

vi myapp/views.py

from django.shortcuts import render

from django.http import HttpResponse
# Create your views here. def index(request):
return HttpResponse("hello world")
定义视图访问的方法

在浏览器中输入什么内容,调用什么函数进行处理

vi myproject/urls.py

from django.conf.urls import url
from django.contrib import admin from myapp import views urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^myapp/', views.index),
]

python manage.py runserver

浏览器查看

添加模板

使用HttpResponse函数只是但存的现实文本,如果要使得显示更加丰富,就需要使用模板。

添加app到project的settings.py中

新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)

vi myproject/settings.py

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles', 'myapp',
]

使用模板进行渲染

vi myproject/myapp/views

from django.shortcuts import render

from django.http import HttpResponse
# Create your views here. def index(request):
return render(request, 'home.html')

创建模板文件

mkdir myapp/templates

vi myapp/templates/home.html

<!DOCTYPE html>
<html>
<head>
<title>welcome</title>
</head>
<body>
hello welcome
</body>
</html>

登录浏览器查看

传递参数给模板文件
from django.shortcuts import render

from django.http import HttpResponse
# Create your views here. def index(request):
name = 'tony'
return render(request, 'home.html', { 'usr' : name })

vi myapp/templates/home.html

<!DOCTYPE html>
<html>
<head>
<title>welcome</title>
</head>
<body>
hello {{ usr }}
</body>
</html>

登录查看

Tony Liu

2016-10-21, Shenzhen

django 笔记的更多相关文章

  1. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  2. Django笔记 —— Admin(Django站点管理界面)

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  3. Django笔记 —— 模型

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  4. Django笔记 —— MySQL安装

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  5. Django笔记 —— 模板

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  6. django笔记三之admin的管理

    django笔记三之admin的管理 设置自动admin应用 vim todos/settings.py INSTALLED_APPS = ( 'django.contrib.admin', 新版本已 ...

  7. django笔记二之数据库

    django笔记二之数据库 [同步数据库之前的操作] yum install MySQL-python.x86_64 -y 2)开启数据库服务并创建表 创建数据库设置 为utf8: create da ...

  8. django笔记-模型数据模板呈现过程记录(多对多关系)

    首先,推荐一个网址:http://www.tuicool.com/articles/BfqYz2F,因为这里的比我的要有条理,更有利于各位的理解. 以下仅为为个人一次不完整的笔记: 环境:ubuntu ...

  9. django笔记1

    最近在博客园看来越来越多的关于python的文章,我看到时感觉特别的好,因为我也是一个特别喜欢python这门语言,喜欢python的简洁.干净,简洁而不失强大. 最近在学习django的Model模 ...

  10. Django 笔记分享

    Django是一个基于MVC构造的框架.但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model).模板(Template)和视图(Views), ...

随机推荐

  1. 【POJ】1556 The Doors(计算几何基础+spfa)

    http://poj.org/problem?id=1556 首先路径的每条线段一定是端点之间的连线.证明?这是个坑...反正我是随便画了一下图然后就写了.. 然后re是什么节奏?我记得我开够了啊.. ...

  2. VirtIE6

    VirtIE6--能在win7上直接运行的单文件 http://down.iefans.net/VirtIE6.rar

  3. javascript 原型及继承

    一般继承方式如下 function people(n){ this.name =n; } function worker(name,num){ people.call(this, name); thi ...

  4. 【iM_TFTRGB液晶模块】demo例程(版本1.02)发布

    ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...

  5. json格式转换成Map的应用

    jsp 1.引用json.js(将json格式转换成字符串) 2. var name = document.getElementById("name").value; var re ...

  6. 当Editplus遇到Java的Scanner

    学习Java编程时,我想让变量的值从键盘输入接收进来.平时在dos中运行效果很直观,那么我在Editplus这款开发工具中也可以输入,Editplus是带有控制台.当你运行Java程序时,此时出现的编 ...

  7. iOS 键盘的隐藏

     在 iOS开发中 最常用的 一些控件,如TextFiled 和 TextView,点击时会自动弹出键盘,但是隐藏操作需要我们自己来编码完成. 最常用的一种方法是,让TextFiled 和 TextV ...

  8. Redis Sentinel哨兵集群

    Redis Sentinel(哨兵集群)是一种高可用的redis部署方案.在集群中的redis-master服务挂掉时,无需人为干预,即可通过哨兵集群的自我调整,实现redis服务的持续可用. 哨兵集 ...

  9. Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50

    Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50 分类: 系统运维 查找包含BOM头的文件,命令如下: 点击(此处)折叠或打开 grep -r -I -l ...

  10. Bootstrap页面布局17 - BS选项卡

    代码结构: <div class='container-fluid'> <h2 class='page-header'>Bootstrap 选项卡</h2> < ...