WEB框架之---Django初级篇

一、下载与安装(Windows版)

下载地址:https://www.djangoproject.com/download/

或者通过命令:pip install django==1.11.2进行安装(Python3使用pip3)推荐使用此版本

安装完成后找到django-admin.exe所在的路径,将其添加到环境变量Path中,以便于今后在任何位置运行命令。

二、创建django程序

1、终端方式创建

   django-admin startproject my_site
   #创建一个名称为my_site的django程序,即文件夹,在哪个目录执行命令即在那个目录创建

执行成功之后会生成如图目录结构:

    执行:python manage.py runserver 127.0.0.1:8000

这时,django已经在本地跑起来了...

其他常用命令:

  python manage.py runserver 0.0.0.0  #不限定IP和端口
      python manage.py startapp appname #在项目中创建app即不同的功能模块
      python manage.py syncdb                  #同步数据库
      python manage.py makemigrations    #基于当前的model创建新的迁移策略文件
      python manage.py migrate               #用于执行迁移动作

python manage.py createsuperuser     #创建超级管理员

注:migration是基于App的, 因此, 我们可以针对某些app不启用migration功能

2、IDE方式创建django项目

工具:pycharm

步骤:File---NewProject---Django---选择好Python解释器然后点击“create”即可搞定

三、配置

1、配置数据库

DATABASES = {
    ‘default‘: {
    ‘ENGINE‘: ‘django.db.backends.mysql‘,
    ‘NAME‘:‘dbname‘,
    ‘USER‘: ‘root‘,
    ‘PASSWORD‘: ‘xxx‘,
    ‘HOST‘: ‘‘,
    ‘PORT‘: ‘‘,
    }
}

可在与项目名同名的目录中找到settings.py文件然后将默认的DATABASES项进行修改,Django支持多种数据库,上述为mysql配置方式,详情请参考官方文档

另外,Django默认的连接mysql的模块为MysqlDB,而python3中还没有此模块,需要使用pymysql,这时需要在__init__.py中导入pymysql并设置

import pymysql
pymysql.install_as_MySQLdb()

2、模板配置

TEMPLATE_DIRS = (
        os.path.join(BASE_DIR,‘templates‘),
    )

此项一般不用设置,了解其是放置模板文件(html)的即可

3、静态文件路径

STATICFILES_DIRS = (
        os.path.join(BASE_DIR,‘static‘),
    )

此目录放置网站所用到的图片、媒体、样式、插件等文件

4、刚接触django,建议先注释掉settings.py文件中的以下一行,后面做以解释,不然测试时有可能出现错误

MIDDLEWARE中的:# ‘django.middleware.csrf.CsrfViewMiddleware‘,

四、路由系统

所谓路由,其实就是路径,导向,即一个URL请求来到服务器端之后,django怎么取匹配这个url并且得需要判断这个url具体应该访问到哪些资源或者定位到哪个地方,然后再由相应的地方处理此请求并且返回给客户端。

1、单一路由对应:一个url对应一个处理函数,即

    url(r‘^index$‘, views.index),

2、基于正则的路由

    url(r‘^index/(\d*)‘, views.index),
    url(r‘^manage/(?P<name>\w*)/(?P<id>\d*)‘, views.manage),

3、添加额外的参数

    url(r‘^manage/(?P<name>\w*)‘, views.manage,{‘id‘:333}),

4、为路由映射设置名称

    url(r‘^home‘, views.home, name=‘h1‘),
    url(r‘^index/(\d*)‘, views.index, name=‘h2‘),

设置名称之后,可以在不同的地方调用,如:

  • 模板中使用生成URL     {% url ‘h2‘ 2012 %}
  • 函数中使用生成URL     reverse(‘h2‘, args=(2012,))      路径:django.urls.reverse
  • Model中使用获取URL  自定义get_absolute_url() 方法

5、根据app对路由规则进行分类(路由分发)

    url(r‘^web/‘,include(‘web.urls‘)),

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

五、admin

django amdin是django提供的一个后台管理页面,改管理页面提供完善的html和css,使得你在通过Model创建完数据库表之后,就可以对数据进行增删改查,而使用django admin 则需要以下步骤:

  • 创建后台管理员
  • 配置url
  • 注册和配置django admin后台管理页面

1、创建后台管理员

    python manage.py createsuperuser

2、配置后台管理url

    url(r‘^admin/‘, include(admin.site.urls))

3、注册和配置django admin后台管理页面

admin.py中执行如下代码:

    from django.contrib import admin
      
    from app01 import  models
      
    admin.site.register(models.UserType)

另外,还可通过Bootstrap给后台管理页面添加样式,让页面好看起来

时间: 2024-12-24 09:14:06

WEB框架之---Django初级篇的相关文章

Python开发【第二十二篇】:Web框架之Django【进阶】

Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205 Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻

Python开发【第二十一篇】:Web框架之Django【基础】

Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-a

Python Web框架之Django初探(一)

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

web框架之--Django基础入门

Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能.Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布.这套框架是以比利时的吉普赛爵士吉他手D

python web框架分析和学习篇_彭友

分析篇: 刚好到网上搜到了一篇<浅谈Python web框架>,里面系统的分析了五种主流的Python框架,现在python的主流框架有Django.Pylons&TurboGears&repose.bfg.Tornado&web.py&Bottle&Flask和Quixote.它从宏观角度分析了这五种框架的优劣,看完之后我们决定选择Django,因为: Django: 概述:可谓是python框架里面最大的一家,它是里面文档最完善.市场占有率最高.招聘

python开发学习-day15(前端部分知识、web框架、Django创建项目)

s12-20160430-day15 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin

Python全栈开发-web框架之django

一:web框架 什么是web框架? Web应用框架(Web application framework)是一种开发框架,用来支持动态网站.网络应用程序及网络服务的开发.这种框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口.标准样板以及会话管理等,可提升代码的可再用性. web应用的流程: //浏览器发送一个HTTP请求: //服务器收到请求,生成一个HTML文档: //服务器把HTML文档作为HTTP响应的Body发送给浏览器: //浏览器收到HTTP响应,从HTTP

Django基础---web框架 和 django 介绍

web 框架 CS 架构 每个用户 电脑上安装一个 客户端 需要升级 BS 架构 更新快 用户只需要一个浏览器 socket -- 套接字 -- tcp api socket 相当于 高速公路 ftp http ftp -- 维持连接 --- 一直可以相互发消息--- 建立连接--通信---断开连接 http -- 短连接 一次对话 一来一回 无状态 没有保留状态 没有标识(不知道是谁) --- 对于服务端来说都是陌生的 cookie session 验证 博客园 socket 服务端 启动服务

Web框架和Django基础

核心知识点 1.web应用类似于一个socket客户端,用来接收请求 2.HTTP:规定了客户端和服务器之间的通信格式. 3.一个HTTP包含两部分,header和body,body是可选,\r\n分隔头部,\r\n\r\n分隔头部和身体. 4.WSGI:定义了用python编写的web服务程序和web应用程序的接口格式. 5.python标准库提供的独立的协议叫wsgiref,django也是使用它作为环境. 6.Django的目录结构(基本的:settings.py urls.py wsgi