1 Django初探
1.理解MTV
- request 向服务器请求
- response发送数据给用户
- M:数据库取出数据
- T: 模板渲染
- V:渲染好的网页返回给用户
- URL找到特定的views
2.创建django项目
(1)cd到文件夹路径下面
C:\Users\Administrator\Desktop>cd root
(2)用命令创建一个Django project
django-admin startproject firstsite
(3)打开Django项目的文件目录
(4)在manage.py里把python改成python3
#managy.py 修改为python3 !/usr/bin/env python3
(5)创建一个Django app
python manage.py startapp firstapp
- urls.py 所有目录的url
- setting.py 全局的变量文件
(6)setting.py 添加app
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'firstapp', ]
3.创建数据库执行:
(1)migrage命令
firstsite> python manage.py migrate
(2)执行runserver命令
firstsite> python manage.py runserver
(3)访问本地网址,it worked
4.在Model中创建数据表
(2)定义一个类,数据字段
#创建People表 继承model.Model类 class People(models.Model): pass
#创建name,job字段 class People(models.Model): name = models.CharField(null=Ture, blank=Ture, max_length=200) job = models.CharField(null=True, blank=True, max_length=200)
(2)执行makemigrtions命令 创建策略
firstsite> python manage.py makemigrations
(3)执行策略 migrate命令
5.在View中获取Model中的数据
(1)view.py中创建视图函数
(2)引入model
(3)在视图函数中创建数据
from django.shortcuts import render from firstapp.models import People # Create your views here. def first_try(request): person = People(name='alex',job='it') return xxx
6.引入Templeate模板对数据渲染
(1)引入Django自带的context和template
(2)把Html与Css放进template
(3)把数据的位置替换成模板语言
(4)定义模板,上下文,进行模板渲染
- 定义模板
- 定义上下文
- 渲染
(5)HttpRespon返回网页
(6)view视图代码
from django.shortcuts import render,HttpResponse from firstapp.models import People from django.template import Context,Template # Create your views here. def first_try(request): person = People(name='alex',job='it') html_sting = ''' <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>first web</title> </head> <body> <h1>Hello</h1> <h2>{{ person.name }}</h2> </body> </html> ''' t = Template(html_sting) context = Context({'person':person}) web_page = t.render(context) return HttpResponse(web_page)
7.URL分配网址
>>> django.__version__ '1.8.2'