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

Django 入门介绍

off999 2025-05-28 19:37 25 浏览 0 评论

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”即可(免费分享哦)希望能对你有所帮助。

相关推荐

手机163邮箱app下载(163邮箱下载手机版官网 app)

163邮箱登录首页入口为http://mail.163.com/网易163免费邮箱--中文邮箱第一品牌.容量自动翻倍,支持50兆附件,免费开通手机号码邮箱赠送3G超大附件服务.支持各种客户端软件收发,...

win10此电脑怎么放在桌面上(wind10此电脑放桌面)
win10此电脑怎么放在桌面上(wind10此电脑放桌面)

步骤/方式1右键单击桌面空白处,点击个性化。步骤/方式2点击更改桌面图标。步骤/方式3把计算机勾选上。步骤/方式4即可把此电脑图标显示在桌面上。...

2025-11-08 14:03 off999

电脑配置怎么看在电脑上(电脑配置在电脑里怎么看)

查看电脑配置的方法有多种,以下是一些常见的方法:直接查看:在电脑桌面或操作系统中,找到“我的电脑”或“此电脑”,右键点击并选择“属性”,即可查看电脑的基本配置信息,包括CPU型号、内存大小、硬盘类型和...

电脑开机反复启动不起来(电脑开机反复重启开不了机怎么办)

1、先关闭主机总电源,电脑先关机吧,打开机箱,将内存条插槽两边的白色专卡口轻向下按,使内存条属弹出插槽。?2、取出内存条后,用干净的橡皮擦擦拭金手指或者用吹风机吹一吹。?3、然后将内存条对准插槽的卡口...

win10家庭版转专业版密钥(windows10家庭版升级到专业版密钥)

家庭版升级专业版密钥,需要付费购买获取不可以,家庭版密钥只是电脑还原时有效,重装系统就没有用了,可以看下面的方法。我是在淘宝买过几个不同系统的密钥都很好用,1-10元都买过,您进入搜索您需要系统的密钥...

安卓镜像下载(安卓镜像下载官网)

vmwareiso镜像文件可以从VMware官网下载。具体的下载步骤如下:1.打开VMware官网,进入产品下载页面。2.在产品下载页面,选择需要下载的VMware产品,比如VMwareWork...

哪个品牌u盘最可靠(哪个品牌的u盘好用)

十大耐用云U盘排行分别是:第一名闪迪第二名雷克沙第三名金士顿第四名三星第五名美商海盗船第六名东芝第七名惠普第八名威刚第九名台电第十名朗科。  质量最稳定u盘是金士顿:全球存储产品领导品牌,全球规模最大...

windows11系统怎么样(win11使用怎么样)

免激活的WindowS11系统很好用,所谓的免激活,并不是不激活,而是在安装的过程当中已经进行了激活,如果激活码是正规渠道获得的,那么就可以被微软所认可,这样的系统在今后的升级或者是打补丁的过程当中...

打印机如何网络共享打印(打印机网络共享打印怎么设置)

想要建立打印机共享使用的方法如下1右击【计算机】选择【管理】,在弹出的【计算机管理】窗口中:系统工具->本地用户和组->用户,在右边找到【Guest】双击进去,把账户已禁用的勾选去掉。2回...

电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
  • 电脑开机蓝屏怎么修复0x0000007b
联想售后维修服务地址(联想售后维修 电话)

官方网站:http://www.lenovo.com.cn/作为全球电脑市场的领导企业,联想从事开发、制造并销售可靠的、安全易用的技术产品及优质专业的服务,帮助全球客户和合作伙伴取得成功。联想公司主要...

华硕系统(华硕系统恢复)

华硕电脑安装的是微软公司的windows系统。一般的华硕电脑出厂的时候安装的都是微软的操作系统,不会安装安卓或者苹果的操作系统。安卓的操作系统一般都是安装在手机上面的,苹果的操作系统都是安装在苹果手机...

wifi强力破解软件排名(wife强力破解软件)

目前我还沒发现有可以破解WiFi密码的软件,有可能有,但这是违法的,所以开发者不可能在网上发布的。有很多人说万能钥匙,其实万能钥匙不是破解WiFi密码,而是密码共享,也就是说一台手机上安装万能钥匙,有...

电脑回收站怎么找出来(电脑回收站到哪里找)

1、打开电脑来到桌面,在空白的地方单击右键,在跳出来的属性中选择个性化。2、点击更改桌面图片,然后会跳出一个桌面图标设置,对桌面上固有图标的更改。3、在桌面图标设置中你可以看到回收站前面未勾选,勾选了...

windows xp电脑公司特别版(正版windows xp)

1、请看下你的游戏说明,是否需要最新版本的显卡驱动支持,如果需要,请将你的显卡驱动升级到最新版。另外,Win7系统内置了很多显卡驱动程序,所以很多计算机在安装完操作系统后都不需要再安装显卡驱动,但是还...

取消回复欢迎 发表评论: