1.django笔记之django底子

2019-11-04 作者:新闻   |   浏览(105)

一、django简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各自的职责如下:

模型(Model),即数据存取层

处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

模板(Template),即表现层

处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

视图(View),即业务逻辑层

存取模型及调取恰当模板的相关逻辑。模型与模板之间的桥梁。

基本结构:

│  db.sqlite3 ----------sqlie3数据库
│  manage.py        
│      
├─logres
│  │  admin.py          后台,可以用很少量的代码就拥有一个强大的后台。
│  │  apps.py
│  │  models.py         与数据库操作相关,存入或读取数据时用到这个
│  │  tests.py
│  │  urls.py
│  │  views.py  
│  │  处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示
│  │      内容比如登陆后的用户名,用户请求的数据,输出到网页。
│  │  __init__.py
│  │  
│  ├─migrations
│     │  0001_initial.py
│     │  __init__.py
│    
│  
│  
│  
├─Mushishi
│  │  settings.py  Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等
│  │  urls.py    urls.py
│  │             网址入口,关联到对应的views.py中的一个函数(或者generic类),
│  │             访问网址就对应一个函数。
│  │  wsgi.py    wsgi有多重一种uwsgi和wsgi,你用那种wsgi来运行Django,
                 一般不用改只有你用到的时候在改
│  │  __init__.py
│   
│          
├─static
└─templates         templates中的Html模板,
        index.html
        login.html
        regist.html

Django

 

 

加拿大28开奖结果 1

 Django版本下载:

安装Django步骤见:

二、安装django

1.window 使用pycharm安装
    过程略
2.window上使用pip安装 
    pip install django
3.linux下使用pip安装
    yum install python-pip
    pip install django=1.9.5
4.检查是否安装成功
>>> import django
>>> django.VERSION

一、创建Django

  • 终端命令:django-admin startproject sitename
  • IDE创建Django程序时,本质上都是自动执行上述命令

其他常用命令:  

  python manage.py runserver 0.0.0.0     运行Django项目
  python manage.py startapp appname    创建app应用
  python manage.py syncdb                    刷新数据库
  python manage.py makemigrations        1.7 及以上的版本同步数据库命令
  python manage.py migrate       1.7 及以上的版本同步数据库命令
  python manage.py createsuperuser        创建管理员用户

三、django基本命令

1.创建django命令
django-admin.py startproject project-name(你工程的名字)
2.创建django的app
python manage.py startapp app-name(你app的名字)
或 django-admin.py startapp app-name(你app的名字)
3.同步数据库
python manage.py syncdb
注意:Django 1.7.1及以上的版本需要用以下命令
python manage.py makemigrations
python manage.py migrate
4.调试模式
python manage.py runserver 8001
#监听所有可用 ip (电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
python manage.py runserver 0.0.0.0:8000
5.清除数据库
python manage.py flush
6.创建超级管理员
python manage.py createsuperuser
按照提示就ok
7.修改管理员密码
python manage.py changepassword username(你当时设定的用户名)
8.导入和导出数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
9.进入数据库
python manage.py dbshell
10.更多命令
python manage.py

二、程序目录

加拿大28开奖结果 2

  mysit:与创建的django同名的模块

    settings:放置有关配置的代码

    urls:路由

    wsgi:主要规定是用哪一种去运行django程序 wsgi或uwsgi

  templates:放置html页面

  manage.py:django的启动程序

 

app的目录结构:

加拿大28开奖结果 3

 admin:django自带后台管理程序提供的文件

models: 对数据库操作文件

views:逻辑处理函数

test:测试

 

四、django的hello world

注:此环境在window环境下使用pycharm进行的

1.创建一个project工程和app

步骤如下

加拿大28开奖结果 4

Project和App概念

Project是一个大的工程,

下面有很多功能:(一个Project有多个App,其实他就是对你大的工程的一个分类)

例如一个运维平台是一个工程,那么他的app就是CMDB,监控系统,OA系统,

2.生成数据库 创建超级管理员用户

注:此步骤是在pycharm的终端里使用命令实现的

1.同步数据库
python manage.py makemigrations
python manage.py migrate
本人使用的是django1.9.5版本
2.创建超级管理员
python manage.py createsuperuser
3.运行django
python manage.py runserver 8000

登录页面:

浏览器访问:
http://127.0.0.1:8000/admin/

加拿大28开奖结果 5

加拿大28开奖结果 6

3.路由

1.首先在helloword文件夹下(不是app目录,千万别写错)的urls.py填写路由规则

from django.conf.urls import url
from django.contrib import admin
#导入app下的view函数
from helloapp import  views
urlpatterns = [
url(r'^admin/', admin.site.urls),
#当用户访问http://127.0.0.1:端口号的时候之间交给helloapp下面的views里的index函数来处理
url(r'^$', views.index),
]

4.views函数

加拿大28开奖结果,1.在helloapp(app)下面的views里写一个index函数

#Django 在返回的时候需要一层封装,需要导入HttpResponse
from django.shortcuts import render,HttpResponse

# Create your views here.
def index(request):
     #使用HttpRespons 封装返回信息
    return HttpResponse('<h1>hello world!!!</h1>')

django中的路由系统和其他语言的框架有所不同,在django中每一个请求的url都要有一条路由映射,这样才能将请求交给对一个的view中的函数去处理。其他大部分的Web框架则是对一类的url请求做一条路由映射,从而是路由系统变得简洁。

2.如果要返回html页面

1.在templates里创建index.html页面
内容:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Hello world!!</h1>
</body>
</html>
2.修改helloapp里的views.py的index函数

from django.shortcuts import render,HttpResponse
# Create your views here.
def index(request):
# return HttpResponse('<h1>hello world!!!</h1>')
return  render(request,'index.html')
#找到index.html
#读取index.html返回给用户

当以上步骤都完成之后

python manage.py runserver 8000

使用浏览器访问:

http://127.0.0.1:8000(你用哪个端口就写哪个))

三、Django实现一次http请求基本流程

  1、在app下的views文件中写一个处理函数。参数必须至少包含一个request,因为此参数里面包含了有关请求的信息,可以调取使用。   

1 def index(request):
2     pass

  2、在urls里面定义路由,参数要与在views里定义的函数名一致。

1 from app01 import views
2 urlpatterns = [
3     url(r'^admin/', admin.site.urls),
4     url(r'^home/',views.home),
5     url(r'^index/',views.index),
6 ]

  3、返回数据,需要导入一个方法去返回字符串数据

1 from django.shortcuts import HttpResponse
2 
3 
4 def index(request):
5     return  HttpResponse("OK")

  4、运行django程序

1 python manage.py runserver 127.0.0.1:8888

加拿大28开奖结果 7

 

 

本文由加拿大28开奖官网发布于新闻,转载请注明出处:1.django笔记之django底子

关键词: