Django-下载安装-配置-创建django项目-三板斧简单使用

目录

  • Django

    • 简介
    • 使用 django 的注意事项
      • 计算机名不能有中文
      • Django版本问题
    • django下载安装
      • 在命令行下载安装
      • 在pycharm图形界面下载安装
      • 检验是否安装成功
    • 创建Django项目
      • 命令行下创建与启动
      • pycharm下创建与启动
      • django项目目录介绍
    • 新建应用(app)特别注意*****
      • 配置文件 settings.py 解析
    • django小白必会三板斧
      • HttpResponse 举例
      • render 举例(可传数据模板渲染)
      • redirect 案例

Django

官网

简介

是一个为完美主义者设计的web框架

The web framework for perfectionists with deadlines.

django可以使你能够用更少的代码,更加轻松且快速去开发web应用。

Django makes it easier to build better Web apps more quickly and with less code.

下面这段太长了,有请百度翻译:

? django是一个高级python web框架,它鼓励快速开发和干净、实用的设计。由经验丰富的开发人员构建,解决了许多web开发的麻烦,因此你可以专注于编写你的应用程序,而无需重新造轮子。它是免费且开源的。

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.

说人话:

  • 大而全,自带的功能特别特别多,就类似于航空母舰
  • 缺点:有时过于笨重(小项目有很多自带功能用不到)

使用 django 的注意事项

  • 计算机名不能是中文
  • 文件的命名尽量也不要用中文

    ? 如果是中文可能会引起 encoding 编码报错

  • 一个pycharm窗口只能有一个项目,不要把多个项目项目放在一个窗口下
  • 注意 django 的版本问题...(下面有展开说明)
  • 起了一个django项目后,一定要注意端口

    ? 想起多个django项目,要记得更换端口(防止端口冲突)

计算机名不能有中文

Django版本问题

不同版本的django当然有所不同,为了防止出现意外bug,最好使用同一版本(行业潜规则:不要尝试最新版本)

下文以 1.11.11 版本展开,版本不同可能会有不同的问题

django下载安装

下载安装还是需要一点点时间的,可以考虑使用国内的配置pip仓库地址

下面的安装方式选一个即可

在命令行下载安装

pip3 install django==1.11.11(1.11.11是版本号)

在pycharm图形界面下载安装

一定要记得选你需要的版本

检验是否安装成功

在命令行敲入如下命令即可

django-admin

返回类似下面的一堆信息就是安装成功了

创建Django项目

命令行下创建与启动

如果不会的话,让你在服务器上改咋办?

命令行创建 django 项目

django-admin startproject project_name(项目名)

命令行创建 django 项目

先切换到项目要存放的目录再创

一个应用(app)对应一块儿独立的功能

django-admin startapp app01(应用名)

python manage.py startapp app01(应用名)

命令行启动django项目

要切到项目目录

python manage.py runserver

注意

命令行创建 django 项目不会自动新建 templates 模板文件夹,需要你自己手动创建并且需要你自己去 settings.py 文件中注册该文件路径

pycharm下创建与启动

创项目时可以创一个应用(app),后续通过命令行创建

后续添加app

命令行(要掌握,可能面试 ****

python manage.py startapp app02

启动项目

点绿色箭头即可启动项目(如果左边那个图标不对,那就自己编辑下)

如果没有那个图标

项目无法启动

如果命令行启动项目没问题,而 pycharm 启动启动不了请注意 python 解释器是否选对,我有朋友就是选成了 pythonw,导致 django 项目在 pycharm 里面跑不起来

一定要把错误的给删掉,否则下一次还是默认使用第一个的

django项目目录介绍

+项目名文件
    +应用文件夹(app01)
        +migrations 文件夹     数据库迁移记录
        -admin.py   django后台管理
        -apps.py    应用注册相关
        -models.py  orm表模型类
        -tests.py   测试文件
        -views.py   视图函数/类
    +与项目名同名的文件夹
        -settings.py    django暴露给用户可配置的文件
        -urls.py        路由文件,配置路由与视图函数对应关系
        -wsgi.py
    +templates      页面模板文件夹,一般放待渲染数据的html页面
        -test.html  待渲染数据的页面(使用django自带的模板语法去渲染)
    -mange.py       django的入口文件
    

新建应用(app)特别注意*****

创建的应用(app)一定要在 settings 里 注册(添加记录)才能生效(前面那些是 django 项目自带的 app)

配置文件 settings.py 解析

截取部分部分介绍

# ...其他代码...
# Application definition
# 创建的应用一定要在这里注册才能生效
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',  # 规范写法
    'app02',  # 简写
    'app03'
]

# django中间件  django的门户 保安
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 = 'myfirstdjangodemo.urls'

# 模板文件配置相关
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',
            ],
        },
    },
]

WSGI_APPLICATION = 'myfirstdjangodemo.wsgi.application'

# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases

# 数据库相关
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
# ...其他代码...

django小白必会三板斧

前提:这一块开始默认 django 项目的已经创建好了

三板斧:
    HttpResponse:   用来返回字符串给页面
    render:         返回html页面并且能够给该页面传值
    redirect:       重定向,返回指定的页面html(浏览器可以看到302状态码)

强调:每新添加一个功能都应该在路由文件 urls.py中添加一个路由与视图的对应关系(请求路径的时候才有对应的 视图函数/类 去处理)

最简单的步骤:

  1. 先创建app
  2. 配置路由(路由与视图函数的对应关系)
  3. 写视图函数(要用到 HttpResponse, redirect,记得自己导过来)
  4. 编写模板页面

HttpResponse 举例

添加路由

first_django_project/urls.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'^index/', views.index),  # 新添加的路由, index 浏览器端口后面的地址 --> 127.0.0.1地址:8000端口/index, views.index 输入前面地址时将要执行的函数
]

编写对应的视图函数

app01/views.py

from django.shortcuts import render, HttpResponse, redirect
# 引入 HttpResponse(直接返回字符串并打包成响应体返回) 和 redirect(重定向页面)

# Create your views here.
# index 路由对应的视图函数,这里用 HttpResponse 返回一个字符串
def index(request):
    return HttpResponse('<h1>Hello, this is Index!</h1>')  # 可以返回html标签,浏览器依旧会渲染效果

在浏览器中请求数据

127.0.0.1:8000/index/

render 举例(可传数据模板渲染)

添加路由

first_django_project/urls.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'^index/', views.index),
    url(r'^login/', views.login),  # 新添加的 登录路由 与 对应的视图函数
]

配置视图函数

新建页面

templates/login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>这是登录页面</h1>
    {# django的模板语法(支持字典 点语法取值 dic.key,但不支持字典的原生语法,这一点不如jinja2(模板引擎语法,一般和flask框架搭配使用) 强大!) #}
    <h3>{{ user_dict.username }}</h3>
</body>
</html>

添加视图函数

app01/views.py

from django.shortcuts import render, HttpResponse, redirect
# 引入 HttpResponse(直接返回字符串并打包成响应体返回) 和 redirect(重定向页面)

# Create your views here.
def index(request):
    return HttpResponse('<h1>Hello, this is Index!</h1>')

# login 路由对应的视图函数,这里用 render 返回 html 格式的页面字符串
def login(request):
    user_dict = {  # 模拟后台处理好的数据
        "username": "jason"
    }
    # login.html 这里不需要加上templates 文件夹,已经做过配置了,会自动找到的
    # return render(request, 'login.html')  # 可什么数据都不带
    # {"user_dict": user_dict} 包装成响应体返回, 键"user_dict"在模板中可以拿到
    return render(request, 'login.html', {"user_dict": user_dict})

在浏览器中请求数据

redirect 案例

老规矩:添加路由

first_django_project/urls.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'^index/', views.index),
    url(r'^login/', views.login),
    url(r'^home/', views.home),  # 新添加的 home 路由 与 对应的视图函数(这里是演示重定向,直接跳转到 login路由去处理)
]

配置视图函数

from django.shortcuts import render, HttpResponse, redirect
# 引入 HttpResponse(直接返回字符串并打包成响应体返回) 和 redirect(重定向页面)

# Create your views here.
def index(request):
    return HttpResponse('<h1>Hello, this is Index!</h1>')

def login(request):
    user_dict = {
        "username": "jason"
    }
    return render(request, 'login.html', {"user_dict": user_dict})

def home(request):  # home 路由对应的视图函数
    print("----> 请求home 路径,进入到了 home的路由函数...")
    return redirect('/login/')

在浏览器中请求数据

刚在后台打印了一句话,看看有没有

图中的标注是最新版本QQ的截图新功能(感觉很棒,推荐使用!哈哈哈)

原文地址:https://www.cnblogs.com/suwanbin/p/11515605.html

时间: 2024-07-31 16:00:26

Django-下载安装-配置-创建django项目-三板斧简单使用的相关文章

django下载安装 url路由

django下载安装 官网地址:https://www.djangoproject.com/download/ 1.下载Django: pip3 install django==1.11.9 2.创建一个django project django-admin startproject mysite 创建了一个名为"mysite"的Django 项目: 3.创建的项目文件介绍 manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库,启动

Django --- Django下载和APP创建 ORM (大概步骤)

1,下载: 命令行: pip install django == 1.11.15 pip install -i或 源 django == 1.11.15 pycharm settings 解释器 点 + 号 输入django 选择版本 2,创建 Django项目 1,命令行: (可能有的东西没配置) cd 保存项目的目录 django - admin startporject 项目名 2,pycharm(可以自己都配置好) filr(按钮)--> new project --选择django -

Django初识(web框架,django下载安装,http协议)

一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响应,按照http协议的请求协议发送请求,服务端按照http协议的响应协议来响应请求,这样的网络通信,我们就可以自己实现Web框架了. 简单的web框架 import socket sk = socket.socket() sk.bind(('127.0.0.1',8001)) sk.listen()

TortoiseSVN下载,安装,配置,常用操作 svn教程

   TortoiseSVN下载,安装,配置,常用操作 svn教程 首先在百度搜索并下载 TortoiseSVN 推荐从官网下载,软件分为32位和64位版本,下载时请根据自己的系统位数进行下载:  安装过程: 1.下载软件后,双击程序进行安装,点击"Next": 2.在许可证协议页面,选择"I Accept the terms in the License Agreement",点击"Next": 3.在自定义选项页面,可以选择安装目录,也可以直

Tomcat的安装配置与web项目发布

Tomcat的安装配置与web项目发布 今日内容 1.Web开发基本概念(了解) 2.tomcat的安装和配置(必会) 3.web项目的发布(必会) 4.Http协议简介(理解) Web开发基本概念 1.软件的架构 常用的软件:QQ.京东.淘宝.kgc 1)C/S架构 解释:客户端/服务器. 特点:需要下载并安装,每次更新需要下载,客户端和服务器有可能都需要更新 控件炫酷,因为它调用的是系统底层的图形的API 2)B/S架构 解释:浏览器/服务器架构.它是基于Http协议的,用的是请求/响应模式

Jmeter下载安装配置及使用(windows)

1 前言 仅作为记录使用. 2 步骤 2.1.下载地址:http://jmeter.apache.org/download_jmeter.cgi 2.2. 选择binary版本即可:apache-jmeter-4.0.zip md5 sha512 pgp 2.3.下载的是jmeter4.0版本,对应jdk1.8(Java8),如果没有自行网上下载 2.4. 电脑桌面-->"计算机"图标->鼠标右键选择"属性"->点击高级系统设置->高级-&g

rsync服务下载安装配置

下载安装配置远程传输服务: 服务端: 一. yum install  rsync -y 二.  编写配置文件: vim /etc/rsyncd.conf uid = rsync --- 虚拟用户rsync,管理备份目录 原理??? gid = rsync --- 虚拟用户组rsync,管理备份目录 port = 873 --- 服务默认端口号873 fake super = yes --- 伪装管理员功能开启 便于可以执行chgrp命令 use chroot = no --- 安全配置 !!!

jdk1.8下载-安装-配置

一:jdk1.8下载 百度搜索jdk1.8 点击如图所示红框内的 点击红框内的即可完成下载  二:jdk1.8安装 双击下载好的jdk1.8进入安装页面 记得修改安装路径 安装的过程中可能会出现下面的情况(若是没有出现直接忽略即可) 这里我在d:jdk1.8文件夹下 提示此文件夹不为空,请选择一个空文件夹 这里我在d:jdk1.8文件夹下新建了一个空文件夹jdkgengxin,之后点击下一步  三:jdk1.8配置 先说明下配置环境变量的作用,就是让操作系统明确的知道这个程序和它的位置.右键我的

Python介绍、下载安装配置、第一个程序Hello World

Python介绍 Python特点:优雅.明确.简单 Python源码不能加密 Python适合的领域:Web网站和各种网路服务.系统工具和脚本.作为"胶水"语言把其他语言开发的模块包装起来方便使用 Python不适合的领域:贴近硬件的代码(首选C).移动开发iOS/Android有各自的开发语言(ObjectC,Swift/Java).游戏开发:C/C++ Python可以跨平台,在linux.windows.mac os x中运行 Python目前有2.7和3.3两个版本,但是Py