Django-1 入门

Django安装及初始配置

1、安装及常用命令

#1、安装
pip  install django
#2、创建项目
django-admin startproject project_name
#3、运行django程序
python manage.py runserver 127.0.0.1:8001
#4、创建app
python manage.py startapp cmdb
#5、数据库表操作
python manage.py makemigrations
python manage.py migrate
#操作数据库不成功时,使用--empty重新建表
python manage.py makemigrations --empty 应用名

2、各个文件的作用

mysite             #对整个程序进行配置
    init
    settings       #配置文件
    url            #URL对应关系
    wsgi           #遵循WSIG规范,uwsgi + nginx
    manage.py      #管理Django程序:
app:
    migrations     #数据库表结构修改记录
    admin          #Django为我们提供的后台管理
    apps           #配置当前app
    models         #ORM,写指定的类  通过命令可以创建数据库结构
    tests          #单元测试
    views          #业务代码

3、配置说明

#配置模板路径
TEMPLATES = [
                {
                    ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
                    ‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)], #模板路径
                   ‘APP_DIRS‘: True,
                    ‘OPTIONS‘: {
                        ‘context_processors‘: [
                            ‘django.template.context_processors.debug‘,
                            ‘django.template.context_processors.request‘,
                            ‘django.contrib.auth.context_processors.auth‘,
                            ‘django.contrib.messages.context_processors.messages‘,
                        ],
                    },
                },
            ]

#配置静态目录
STATIC_URL = ‘/static/‘
STATICFILES_DIRS = (
         os.path.join(BASE_DIR, ‘static‘),
      )

#注释跨站请求伪造
‘django.middleware.csrf.CsrfViewMiddleware‘,

#settings增加app名
INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘cmdb‘,
]

#mysql数据库的话,在settings里修改DATABASES
DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘NAME‘: ‘myweb‘,
        ‘USER‘: ‘root‘,
        ‘PASSWORD‘: ‘my-pw‘,
        ‘HOST‘: ‘172.3.250.254‘,
        ‘PORT‘: ‘3306‘,
    }
}

#Django默认使用MySQLdb模块链接MySQL
#主动修改为pymysql,在project同名文件夹下的__init__文件中添加如下代码即可:
import pymysql
pymysql.install_as_MySQLdb()

Django使用

1、接收请求响应

#主目录urls:
from django.contrib import admin
from django.urls import path,re_path
from django.shortcuts import HttpResponse

from cmdb import views as cmdb

urlpatterns = [
    path(r‘admin/‘, admin.site.urls),
    path(r‘login‘,cmdb.login),
    path(r‘clogin/‘,cmdb.Login.as_view()),
]

#app中view中:
from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.shortcuts import redirect
# Create your views here.
from django.views import View

#FBV
def login(request):

    if request.method == ‘GET‘:
        return render(request,‘login.html‘)  #可直接返回模板文件

    elif request.method == ‘POST‘:
        return HttpResponse("<h1>OK</h1>")  #直接返回文本

    else:
        return redirect(‘http://baidu.com‘)  #跳转或重定向

#CBV
class Login(View):

    def dispatch(self,request,*args,**kwargs):
        ‘‘‘
            可以通过重写dispatch来执行更多的事情
        :param request:
        :param args:
        :param kwargs:
        :return:
        ‘‘‘
        result = super(Login,self).dispatch(request,*args,**kwargs)
        return result

    def get(self,request):
        return render(request,‘login.html‘)

    def post(self,request):
        return HttpResponse("<h1>OK</h1>")

    def delete(self,request):
        return redirect(‘http://baidu.com‘)

2、接收请求的方法

1、获取用户请求数据
	request.method  		  #请求方式
    request.GET
    request.POST
    request.POST.get(‘user‘)  #获取来自用户提交的数据
    request.POST.getlist()    #checkbox等多选的内容
    request.FILES

示例

上传文件:

from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.shortcuts import redirect

def index(request):
    if request.method == ‘POST‘:
        obj = request.FILES.get(‘put_file‘)
        f = open(obj.name,mode=‘wb‘)
        for item in obj.chunks():
            f.write(item)
        f.close()
        return HttpResponse("OK")
    else:
        return  render(request,‘index.html‘)
<body>
<form action="/index"  method="post" enctype="multipart/form-data">
    <div>
        <input type="file" name="put_file"/>
    </div>
    <div>
        <input type="submit" value="上传"/>
    </div>
</form>
</body>

原文地址:https://www.cnblogs.com/chimeiwangliang/p/12706768.html

时间: 04-14

Django-1 入门的相关文章

[Python] Django框架入门

说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ./manager.py xxx 准备:已经安装python并加入环境变量 已安装 django 设计框架对比(引用,可自行搜索): 1.MVC MVC框架的核心思想是:解耦 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用 m表示model,主要用于对数据库的封装 v表示

Django框架入门

Django框架入门 HTTP协议 四大特性 基于TCP/IP协议之上作用于应用层的协议 基于请求响应 无状态 无连接 请求响应的数据格式 请求格式 请求首行 请求头 \r\n 请求体(在这个地方区分get请求与post请求:get请求无请求体) 响应格式 响应首行 响应头 \r\n 响应体 状态码: 1XX:服务器已接收到请求正在处理,可以继续发送请求 2XX:响应成功 例如:200 3XX:一般为重定向 例如:304 4XX:请求错误 常见的有: 403(不满足请求条件,拒绝访问),404(

Django之入门 CMDB系统 (二) 前端模板

Django之入门 CMDB系统 (二) 前端模板 前言 作者: 何全,github地址: https://github.com/××× QQ交流群: ××× 通过此教程完成从零入门,能够独立编写一个简单的CMDB系统. 目前主流的方法开发方式,分为2种:mvc 和 mvvc方式.本教程为 mvc 方式,即 django负责渲染html.后面会推出 mvvc(前后端分离)的入门教程. 教程项目地址: https://github.com/×××/husky/ 教程文档地址: https://gi

Django之入门 CMDB系统 (一) 基础环境

Django之入门 CMDB系统 (一) 基础环境 前言 作者: 何全,github地址: https://github.com/××× QQ交流群: 62-01-76-50-1 通过此教程完成从零入门,能够独立编写一个简单的CMDB系统. 目前主流的方法开发方式,分为2种:mvc 和 mvvc方式.本教程为 mvc 方式,即 django负责渲染html.后面会推出 mvvc(前后端分离)的入门教程. 教程项目地址: https://github.com/×××/husky/ 教程文档地址:

Django之入门 CMDB系统 (三) 登录注销

Django之入门 CMDB系统 (三) 登录注销 前言 作者: 何全,github地址: https://github.com/hequan2017 QQ交流群: 620176501 通过此教程完成从零入门,能够独立编写一个简单的CMDB系统. 目前主流的方法开发方式,分为2种:mvc 和 mvvc方式.本教程为 mvc 方式,即 django负责渲染html.后面会推出 mvvc(前后端分离)的入门教程. 教程项目地址: https://github.com/hequan2017/husky

Django之入门 CMDB系统 (四) 增删改查

Django之入门 CMDB系统 (四) 增删改查 前言 作者: 何全,github地址: https://github.com/hequan2017 QQ交流群: 620176501 通过此教程完成从零入门,能够独立编写一个简单的CMDB系统. 目前主流的方法开发方式,分为2种:mvc 和 mvvc方式.本教程为 mvc 方式,即 django负责渲染html.后面会推出 mvvc(前后端分离)的入门教程. 教程项目地址: https://github.com/hequan2017/husky

Django的入门开发教程

初识Django  Django是高级Python Web框架,鼓励快速开发和简洁实用的设计.它由经验丰富的开发人员构建,可解决Web开发的大部分麻烦,因此您可以专注于编写应用程序而无需重新发明轮子.从本质上来说,Django是Python编写的一组类库,用Django开发站点就是使用这些类库编写.采用了MVC设计模式,即M模型(models),V视图(views),C控制器(controls). 安装开发工具 windows系统下安装开发工具 1.python下载地址:https://www.

Django -- 安装入门

关于Django的学习,我主要依据的两个地址,希望可以和大家分享: http://www.runoob.com/django/django-install.html http://djangobook.py3k.cn/2.0/ ------------------------------------------------------------------------------------------------- [入门简介] web开发激动人心且富于创造性,同时也繁琐令人生厌:pytho

Part 7:自定义admin站点--Django从入门到精通系列教程

该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453131687 本节我们主要介绍在第二部分提到过的admin后台管理站点. Django的admin站点是自动生成的.高度可定制的,它是Django相较其它Web框架独有的内容,广受欢迎.如果你觉得它不够美观,还有第三方美化版xadmin.请一定不要忽略它,相信我,它值得拥有! 一.定制模型表单 在前

第一章:模型层model layer -- Django从入门到精通系列教程

该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453131687 题外话: Django的教程写到这里,就进入了整体的第二部分,也是最关键的部分.此时有一个问题必须想清楚,那就是,以项目带动内容还是以参考书目的方式展开?为此,我考虑了很久. 我在开始学习Django的时候,也看过许多教程和博客,有的专述某个细节,虽然比较深入,但不够全面:有的比较泛泛