热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3django开发_python3开发进阶Django框架起飞前的准备

阅读目录一、安装(安装最新LTS版)根据官方的图版本,我们下载1.11版本的,最好用!有两种下载方式一种直接cmd里:pip3instal

阅读目录

一、安装(安装最新LTS版)

1753308827cb9e375b5eb4dda32f920c.png

根据官方的图版本,我们下载1.11版本的,最好用!

有两种下载方式一种直接cmd里:

pip3 install django==1.11.11

PS:说有命令不存在的童鞋可以去面壁了,环境变量的问题我们就不说了,自己去找度娘搞定

第二种就是在pycharm里装,又方便又快捷:

f26e7500f1054e675068ce351c0b3519.png

4d6cfc82b79656aab91ca1b3cb735b7b.png

下载好之后,就是创建项目了!

二、创建一个django项目

下面的命令创建了一个名为"mysite"的Django 项目:

django-admin startproject mysite

ps:出现命令不存在的小伙伴,自己去面壁。。。

还有一种就是pycharm创建项目:

①、

01453f03af38ed40646b6b998b22f0e8.png

②、

4485e219b57590fa5259ddd76c967a06.png

③、

1afad433d050244a9d4e8b121316895f.png

创建好之后,我们看到的是下面的目录结构:

目录介绍:

mysite/├── manage.py # 管理文件

└── mysite # 项目目录

├── __init__.py

├── settings.py # 配置

├── urls.py # 路由 -->URL和函数的对应关系

└── wsgi.py # runserver命令就使用wsgiref模块做简单的web server

文件的具体详解:(官方文档地址)

外层 mysite/ 目录只是你项目的一个容器。对于 Django 来说该目录名并不重要; 你可以重命名为你喜欢的。

manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 你可以在 django-admin.py and manage.py 中查看关于 manage.py 所有的细节。

内层 mysite/ 目录是你项目中的实际 Python 包。该目录名就是 Python 包名,通过它你可以导入它里面的任何东西。 (e.g. import mysite.settings).

mysite/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。(如果你是 Python 新手,请查看官方文档了解 关于包的更多内容 。)

mysite/settings.py: 该 Django 项目的设置/配置。请查看 Django settings 将会告诉你如何设置。

mysite/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站“目录”。请查看 URL dispatcher 可以获取更多有关 URL 的信息。

mysite/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。请查看 How to deploy with WSGI 获取更多细节。

三、运行Django项目

python manage.py runserver #127.0.0.1:8000 默认的ip和端口

python manage.py runserver 127.0.0.1:8000 #随意的ip和端口都可以自定义

PS:看到这个又有同学命令不存在!!!

不怕还有简单方法:

991c630db6fc5262cf8f51732f9f5673.png

c7e423e013fdb02804195a25985c279f.png

d768b9a7ad09fb327a6c03a09bf5084b.png

四、配置文件的说明

模板文件配置:

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',

],

},

},

]

静态文件配置:

STATIC_URL = '/static/' # HTML中使用的静态文件夹前缀

STATICFILES_DIRS =[

os.path.join(BASE_DIR, "static"), # 静态文件存放位置

]

看不明白?有图有真相:

b56adbe6cb2efc7e116307d6118a0b55.png

刚开始学习时可在配置文件中暂时禁用csrf中间件,方便表单提交测试

0642a1491252daf1d5f9e5995559923f.png

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',

]

五、Django基础必备三个组件:

from django.shortcuts import HttpResponse, render, redirect

HttpResponse

内部传入一个字符串参数,返回给浏览器。

例如:

defindex(request):

# 业务逻辑代码

return HttpResponse("OK")

render

除request参数外还接受一个待渲染的模板文件和一个保存具体数据的字典参数。

将数据填充进模板文件,最后把结果返回给浏览器。(类似于我们上面用到的jinja2)

例如:

defindex(request):

# 业务逻辑代码

return render(request, "index.html", {"name": "duoduo", "hobby": ["烫头", "泡吧"]})

redirect

接受一个URL参数,表示跳转到指定的URL。

例如:

defindex(request):

# 业务逻辑代码

return redirect("/home/")

重定向是怎么回事?

231d5b6a22b09d948de5e8607df3dcc0.png

启动Django报错:

Django 启动时报错 UnicodeEncodeError ...

报这个错误通常是因为计算机名为中文,改成英文的计算机名重启下电脑就可以了。

Django 启动报错“SyntaxError: Generator expression must be parenthesized”

报这个错很大可能是因为使用了Python3.7.0,而目前(2018-06-12)Python3.7.0和Django还有点兼容性问题,换回Python3.6的环境即可。



推荐阅读
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 从批量eml文件中提取附件的Python代码实现方法
    本文介绍了使用Python代码从批量eml文件中提取附件的实现方法,包括获取eml附件信息、递归文件夹下所有文件、创建目的文件夹等步骤。通过该方法可以方便地提取eml文件中的附件,并保存到指定的文件夹中。 ... [详细]
  • 很多时候在注册一些比较重要的帐号,或者使用一些比较重要的接口的时候,需要使用到随机字符串,为了方便,我们设计这个脚本需要注意 ... [详细]
  • 1关于字符串相邻的两个或多个字符串字面值(引号引起来的字符)将会自动连接到一起:str_catpython!str_cat输出:python!把很长 ... [详细]
  • 【爬虫训练场】:分页爬虫案例设计Demo,Python Flask与MySQL的完美连接
    网站类应用,一定离不开MySQL,所以本案例将带着大家学习一下,通过Flask调用MySQL数据,并实现分页呈现。类被称作蓝图,它是一个存储操作方法的容器,Flask可以通过Blu ... [详细]
  • php设置数组大小_【大厂必备】2020超经典PHP面试题
    结合我自己这段时间的面试情况,面对的一些php面试题列举出来,基本上结合自己的看法回答的,不妥的地方请大家指出去,与大家一起 ... [详细]
  • Pylance有哪些特性
    这篇文章给大家分享的是有关Pylance有哪些特性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Pylance安装和其他VSC ... [详细]
  • 关于python调试大法的信息
    本文目录一览:1、pdbpython调试怎么用 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 1.《Python程序设计基础与应用》第1章 Python概述
    第1章Python概述1.1Python语言简介(1)Python是一门跨平台、开源、免费的解释型高级动态编程语言。(2࿰ ... [详细]
author-avatar
七锦少年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有