百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Django 入门介绍

itomcoil 2024-12-31 12:20 11 浏览

Django框架是PythonWeb三大主流框架之一,以其功能强大全面而受到众多开发者追捧,现如今Django已经更新到3版本,但是并不推荐使用,更多建议使用1版本。

Django版本Python版本1.112.7、3.4、3.5、3.6、3.7(在1.11.17中添加)2.03.4、3.5、3.6、3.72.13.5、3.6、3.72.23.5、3.6、3.7、3.8(在2.2.8中添加)3.0、3.13.6、3.7、3.8

  


2|0Django安装

   使用pip install django==1.11.11安装Django

   当下载完成后,可以使用django-admin来查看是否安装成功

C:\Users\云崖先生>django-admin

Type 'django-admin help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver
Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

3|0常用命令

   第一次接触Django,这里有一些常用的CMD命令

基本命令解释说明django-admin startproject 项目名称创建一个Django项目python manage.py startapp 应用名称创建一个APPpython manage.py runserver ip地址 port号运行Django项目,如不指定IP与PORT默认为127.0.0.1与8000python manage.py makemigrations创建数据库的py文件python manage.py migrate将生成的py文件应用到数据库python manage.py flush数据库中数据全部清除,只留下表python manage.py createsuperuser创建管理员用户,密码(邮箱可以留空)python manage.py changepassword 用户名修改管理员用户密码

4|0注意事项

   使用Django时,有以下4条建议

   1.计算机名称不能包含中文

   2.IDE中一个窗口只开一个项目

   3.项目中所有文件夹均不要使用中文

   4.Python解释器请按照与之相对的Django版本进行选择,我这里使用Python3.6.6

5|0目录介绍

   接下来我们使用命令行创建出一个新的Django项目。

django-admin startproject Perfect 

   然后再新建一个APP,在Django中每一个 APP都相当于一个功能的集合,如有处理学生相关的业务就创建一个名为studentAPP,老师相关的业务就创建一个名为teacherAPP

python manage.py startapp app01  # 注意在此之前要cd进项目根目录

   目录如下:

-- PERFECT	项目文件夹

	-- app01	应用文件夹
		-- migrations.py		数据库迁徙文件
		-- admin.py 			django后台管理
		-- apps.py				注册相关
		-- models.py			数据库相关(ORM类)
		-- tests.py				测试文件
		-- views.py				视图相关函数
		
	-- Perfect	项目全局文件夹
		-- settings.py			全局配置文件
		-- urls.py				路由视图关系
		-- wsgi.py				wsgiref模块(Django基于该模块)
		
	-- manage.py 入口文件
	-- sqlite3	 自带微型数据库(可有可无)

   这个时候我们应该做一件事,在项目根目录下新建一个templates文件夹,用于存放HTML文档。

   (如果你是使用Pycharm进行创建Django项目可忽略这一步)

6|0配置文件

   打开项目全局文件夹下的settings.py,认识一下各个组件及其功能。

"""
Django settings for Perfect project.

Generated by 'django-admin startproject' using Django 1.11.11.

For more information on this file, see
https://docs.djangoproject.com/en/1.11/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.11/ref/settings/
"""

import os

# 像这样在项目内部构建路径:os.path.join(BASE_DIR,...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# 快速启动开发设置-不适合生产
# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/

# SESSION相关的密钥,上线之后一定要保密
SECRET_KEY = 'm00e=*1gwly+6_g=tk&rd)lu8p-v_)1k(y&@7p_xn663$ph#'

DEBUG = True # DEBUG信息,会给提示,上线后改为False即可

ALLOWED_HOSTS = [] # 允许访问的主机,上线后改为 ["*"]


# 注册的APP,新建一个APP后需要进行手动配置
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

# 中间件,新手玩家请注释掉  'django.middleware.csrf.CsrfViewMiddleware',
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'Perfect.urls'

# HTML文件存放路径配置
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        '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',
            ],
        },
    },
]

WSGI_APPLICATION = 'Perfect.wsgi.application'


# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
# 项目指定用的数据库,可以自行修改。默认使用sqlite3
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
# 认证相关
AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]


# Internationalization
# https://docs.djangoproject.com/en/1.11/topics/i18n/

LANGUAGE_CODE = 'en-us' # 语言

TIME_ZONE = 'UTC' # 时区

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/

# 静态文件,尤其重要
STATIC_URL = '/static/'

7|0手动配置

   好了,在创建完APP后需要在配置文件中进行一些手动配置,分别是注册APP,拼接HTML文档路径,这两个是必须的。此外还可选择性对csrf验证中间件进行注释,以及配置数据库链接,配置静态文件等等。

   这些都放在后面会说,后面会单独开一章settings的文章来具体写各个部分的用途。

   注意:如果使用Pycharm进行创建可忽略注册APP与拼接HTML文档路径,这些Pycharm都会帮你自动做好,但是还是建议你看一眼。

7|1注册APP

   注册APP非常简单,只需要在配置文件中找到下面的位置添加上上下面一条信息即可。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
]

   也可以进行简写

'app01',

7|2HTML路径

   拼接HTML文档路径也是在配置文件中添加。

   以下示例中templates是我对存放HTML文档的文件夹取的名字,推荐使用这个名字。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,"templates")],  # 在这里添加上 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',
            ],
        },
    },
]

8|0启动Django

   上面的基础工作做完之后,可以尝试启动一下Django服务了,但是为了体现效果这里还是超出范畴的写一点东西。

   返回一个简单的登录页面吧,这里不涉及数据库,静态文件等操作,所以你要做的就只有3步

   1.配置路由,

   2.配置一个视图函数,

   3.写一个页面

8|1配置路由

   配置路由的作用在于对不同的请求路径进行处理,返回不同的页面,这里面其实也有很多知识点,先不涉及做个简单的。

   在项目全局文件夹下,打开urls.py,导入一下app01views.py,再插入一条代码。

from django.conf.urls import url
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r"^login/",views.login),  # 新增代码
]

8|2编写函数

   现在就可以做一下app01下的views.py中的内容了,由于路由里对于http://127.0.0.1:8000/login的请求处理函数是login,所以我们需要写一个login函数来进行处理。

from django.shortcuts import render

# Create your views here.
def login(request):
    return render(request,"login.html") # 必须返回request

8|3页面编写

   上面的请求处理函数返回了一个login.html,这里其实就是返回的templates中的HTML文档,可惜我们现在还没有login.html,所以新建一个即可。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            list-style: none;
        }
        
        body {
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        body main form{
            padding: 5px;
            border: #ddd solid 1px;
            background: #eee;

        }
        body main form p{
            margin: 10px;
        }
    </style>
</head>

<body>
    <main>
        <form action="#">
            <p><input type="text" name="username" placeholder="请输入您的用户名"></p>
            <p><input type="password" name="password" placeholder="请输入您的密码"></p>
            <p><button type="submit" disabled>提交</button></p>
        </form>
    </main>
</body>

</html>

8|4结果测试

   现在将开启Django服务进行测试操作

python manage.py runserver

   看下图,已经成功到访问到了页面,其实所有的Web框架流程无非就是解析请求资源,处理数据,返回HTML文档这三步骤。


最后,小编想说:我是一名python开发工程师,整理了一套最新的python系统学习教程,想要这些资料的可以关注私信小编“01”即可(免费分享哦)希望能对你有所帮助。

相关推荐

PS小技巧 调整命令,让人物肤色变得更加白皙 #后期修图

我们来看一下如何去将人物的皮肤变得更加的白皙。·首先选中图层,Ctrl键加J键复制一层。·打开这里的属性面板,选择快速操作删除背景,这样就会将人物进行单独的抠取。·接下来在上方去添加一个黑白调整图层,...

把人物肤色提亮的方法和技巧

PS后期调白肤色提亮照片的方法。一白遮百丑,所以对于Photoshop后期来说把人物肤色调白是一项非常重要的任务。就拿这张素材图片来说,这张素材图片人脸的肤色主要偏红、偏黄,也不够白皙,该怎样对它进行...

《Photoshop教程》把美女图片调成清爽色彩及润肤技巧

关注PS精品教程,每天不断更新~~室内人物图片一般会偏暗,人物脸部、肤色及背景会出现一些杂点。处理之前需要认真的给人物磨皮及美白,然后再整体润色。最终效果原图一、用修补工具及图章工具简单去除大一点的黑...

PS后期对皮肤进行美白的技巧

PS后期进行皮肤美白的技巧。PS后期对皮肤进行美白的技巧:·打开素材图片之后直接复制原图。·接下来直接点击上方的图像,选择应用图像命令。·在通道这里直接选择红通道,混合这里直接选择柔光,然后点击确定。...

493 [PS调色]调模特通透肤色

效果对比:效果图吧:1、光位图:2、拍摄参数:·快门:160;光圈:8;ISO:1003、步骤分解图:用曲线调整图层调出基本色调。用可选颜色调整图层调整红色、黄色、白色和灰色4种颜色的混合比例。用色彩...

先选肤色再涂面部,卡戴珊的摄影师透露:为明星拍完照后怎么修图

据英国媒体12月17日报道,真人秀明星金·卡戴珊终于承认,她把女儿小北P进了家族的圣诞贺卡,怪不得粉丝们都表示这张贺卡照得非常失败。上周,这位39岁的女星遭到了一些粉丝针对这张照片的批评,她于当地时间...

如何在PS中运用曲线复制另一张照片的色调

怎样把另一张作品的外观感觉,套用到自己的照片上?单靠肉眼来猜,可能很不容易,而来自BenSecret的教学,关键是在PS使用了两个工具,让你可以准确比较两张照片的曝光、色调与饱和度,方便你调整及复制...

PS在LAB模式下调出水嫩肤色的美女

本PS教程主要使用Photoshop使用LAB模式调出水嫩肤色的美女,教程调色比较独特。作者比较注重图片高光部分的颜色,增加质感及肤色调红润等都是在高光区域完成。尤其在Lab模式下,用高光选区调色后图...

在Photoshop图像后期处理中如何将人物皮肤处理得白皙通透

我们在人像后期处理中,需要将人物皮肤处理的白皙通透,处理方法很多,大多数都喜欢使用曲线、磨皮等进行调整,可以达到亮但是不透,最终效果往往不是很好,今天就教大家一种如何将任务皮肤处理得白皙通透,希望能帮...

PS调色自学教程:宝宝照片快速调通透,简单实用!

PS调色自学教程:宝宝照片快速调通透。·首先复制图层,然后选择进入ACR滤镜,选择曲线锁定照片的亮部,也就高光位置,其他部位补亮一点,尤其是阴影的部位补亮多一些,让画面的层次均匀一点。·然后回到基本项...

【干货】如何利用PS进行人物美化

人物图像美化在Photoshop中非常常用,Photoshop作为一款功能强大的图像处理软件,不仅可以对人像进行基本的调色、美化和修复等处理,还可以改变人物的线条和幅度,如调整脸部器官和脸型的大小、调...

教大家一种可以快速把肤色处理均匀的方法@抖音短视频

快速把肤色处理均匀的方法。今天教大家一种可以快速把肤色处理均匀的方法。像这张照片整体肤色走紫红色,但是局部偏黄缘处理起来非常的麻烦。其实我们只需要新建空白图层,图层混合模式更改为颜色,再选择画笔工具把...

PS调色教程 利用RAW调出干净通透的肤色

要么不发,要么干货。后期教程来噜~用RAW调出干净通透的肤色。这次终于不会原片比PS后好看了吧。如果你依然这么觉得,请不要残忍的告诉我这个事实,泪谢TAT)附送拍摄花絮,感谢各位的支持更多风格请关注m...

photoshop后期皮肤变白的技巧

PS后期皮肤变白的技巧。1.PS后期让皮肤变白的方法有很多种,接下来教你一种非常简单容易上手的方法。2.打开素材图片之后,直接在小太极下拉框的位置添加一个纯色调整图层,颜色设置一个纯白色,点击...

Photoshop调出人物的淡雅粉嫩肤色教程

本教程主要使用Photoshop调出人物的淡雅粉嫩肤色教程,最终的效果非常的通透迷人,下面让我们一起来学习.出自:86ps效果图:原图:1、打开原图复制一层。2、用Topaz滤镜磨皮(点此下载)。3、...