Django项目创建与三板斧

一.下载安装Django与创建项目

1. 使用命令行下载Django

pip3 install django

提示:如果已经安装了其他版本,无需自己卸载
排错:
    1.如果报错,看看是不是timeout 如果是 那么只是网速波 重新安装即可
    2. 如果pip命令也出现错误Fatal error in launcher: Unable to create process using, 那么更新pip命令
        python -m pip install --upgrade pip

#下载太慢可以更换下载清华源下载:
使用方法 : pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django

2.Django官网文档

二、创建项目

1. 命令行创建Django

第一步:创建Django项目

#注意:这种创建方式十创建到当前文件夹下,如果需要创建指定文件夹下再执行这条命令

1.切换文件夹
cd [文件夹]

2.创建Django项目
django-admin startproject 项目名 

第二部:启动Django项目

'''注意:一定要切换到项目文件夹下'''

#启动Django项目
python3 manage.py runserver [ip]:[port] #runserver后面可以绑定IP和端口,不指定使用默认的本机回还地址,Django默认端口为8000。

第三步:创建应用

#创建应用
python manage.py startapp app01 #app01应该见名知意

第四步: 注册应用

创建的应用一定要去setting.py配置文件中找到INSTALLED_APPS进行注册

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
    'app02.apps.App01Config',     # 注册完整写法
    'app02'           # 注册简写
]

2.使用pycharm创建Django项目

第一步:创建Django项目

打开pycharm主界面,File----->New Project,接下来如图所示:

在创建项目时指定Application可以创建一个, 且同时也会在settings.py配置文件中INSTALLED_APPS中注册.

1

第二步:启动Django项目

123

  • 出现报错信息

image-20210318001502489

image-20210318001702770

模板文件配置:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "template")],  # template文件夹位置
        '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',
            ],
        },
    },
]

image-20210318001959662

点击链接进入查看

image-20210318002309789

第三步:创建新的应用

  • Tools----->Run manage.py Task...(快捷键 : Ctrl+Alt+r)

image-20210318002739567

命令框内输入如下格式命令创建app:

python manage.py startapp [app名字] #这样就会创建一个新的app

三、项目目录结构

1.目录结构介绍

mysite/ #项目名
├── manage.py  # 管理文件. django的入口文件
├── mysite     # 项目目录
    ├── __init__.py
    ├── settings.py  # 配置
    ├── urls.py      # 路由和视图函数的对应关系(路由层)
    └── wsgi.py      # runserver命令就使用wsgiref模块做简单的web server
├── db.sqlite3       # django自带的sqlite3数据库(小型数据库 功能不是很多还有bug)
├── templates   #存储数据库记录相关(类似于操作日志)
└── app01      # 应用目录(可以有多个)
    ├── migrations   # 数据库迁移记录
        └── __init__.py
    ├── __init__.py
    ├── admin.py     # django后台管理
    ├── apps.py      # 注册app使用
    ├── models.py    # 数据库相关的 模型类(orm)
    ├── test.py      # 测试文件
    └── views.py     # 视图函数(视图层)

2.setting.py配置文件

  • DEBUG

定义一个布尔值,表示开启/禁用当前项目的调试迷失

如果DEBUG为True,当应用程序抛出未捕获异常时,Django将显示详细的错误页面

如果要发布项目上时,需将其设置为False,以免暴露某些与产品相关的敏感参数

  • ALLOWED_HOSTS

允许访问的主机, 默认为[ ],对于初学者来说可以不必理会

在发布产品时才会用到,上线之后可以写 *, 表示所有

  • INSTALLED_APPS

表示为需要针对全部项目进行编辑的设置项,该设置项通知Django针对当前站点的哪一个应用程序处于活动状态

默认状态下,Django包含了以下6个应用程序

'django.contrib.admin',         # 管理站点
'django.contrib.auth',          # 验证框架
'django.contrib.contenttypes',  # 处理内容类型的框架
'django.contrib.sessions',      # 会话框架
'django.contrib.messages',      # 消息机制框架
'django.contrib.staticfiles',   # 管理静态文件框架

image-20210318151645365

  • MIDDLEWARE

表示中间件列表,在后期使用表单时,如果是:post 请求,需加上{% csrf_token %}

  • DATABASES

表示一个字典,其中涵盖了应用程序所使用的全部数据库设置。默认采用的是SQLite3数据库

  • ROOT_URLCONF

表示pytho模块,其中定义了应用程序的根URL路径

  • LANGUAGE_CODE

针对当前Django站点定义了默认的代码语言

  • USE_TZ

通知Django启用/禁用时区支持

Django提供了基于时区的日期显示, 当创建一个新项目时,该设置项将定义为True

四、使用脚本调用django

1 写一个脚本文件
import os
#加载配置文件,跑django的项目,最开始就是把配置文件加载上
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day53.settings")

if __name__ == '__main__':
    import django  # 安装了django模块,就可以import
    django.setup() # 使用环境变量中的配置文件,跑django

    from app01 import models

五、Django三剑客


1.三剑客

  • HttpResponse (HTTP请求)
  • render (渲染)
  • redirect (重定向)

2.三剑客介绍

将三剑客统统导入

from django.shortcuts import HttpResponse,render,redirect  # 将三剑客统统导入
  • HttpResponse : 返回字符串类型的数据
def login(request):
    return HttpResponse('欢迎登入该网站')
  • render : 返回HTML文件, 支持向HTML文件中传参并使用模板语法(动态HTML页面)
# 视图函数必须接收一个参数request
def login(request):  
    return render(request,'login.html')

# 动态页面两种传值方式
# 1.使用字典的形式进行传值 : 更加精确,节省资源
def login(request):
    user_info = {"name":"shawn","age":23}
    return render(request,'index.html',{"data":user_info,"datetime":"2021.03"})

# 2.使用locals,会将所在名称空间中所有的名字全部传递给HTML页面调用 : 当想要的数据特别多的时候推荐使用
def login(request):
    return render(request,"login.html",locals())
  • redirect : 重定向
# 返回他人的网址重定向
def login(request):
    return redirect("https://www.baidu.com")

# 返回自己的网址重定向
def login(request):
    return redirect("/index")

版权声明:
作者:淘小欣
链接:https://blog.taoxiaoxin.club/146.html
来源:淘小欣的博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
Django项目创建与三板斧
一.下载安装Django与创建项目 1. 使用命令行下载Django pip3 install django 提示:如果已经安装了其他版本,无需自己卸载 排错: 1.如果报错,看看是不……
<<上一篇
下一篇>>