[每周一更]-(第53期):Python3和Django环境安装并搭建Django

在这里插入图片描述

Python和Django 的安装

Python和Django 兼容情况

django 1.11.x

python 2.7 3.4 3.5 3.6 LTS

python

目前在用版本

  • Python 3.6.5 2018-03-28 更新
  • Python 2.7.15 2018-05-01 更新
  • Python 2.7.5 2013-05-12 更新

python和python3安装pip

同时安装上 python2.7.18、python3.11.0 ,将python3.11.0改为python3,运行如下命令得到对应的pip版本

  • pip --version
  • pip3 --version
 python -m pip install --upgrade pippython3 -m pip install --upgrade pip

python2.7 安装pip

  • 安装setuptools
    python setup.py install
https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip
  • 安装pip
https://pypi.python.org/pypi/pip

python setup.py install

window下载

wget https://www.python.org/downloads/release/python-365

推荐直接安装方式安装 https://www.python.org/downloads/windows/

windows中 pip下载

https://pypi.python.org/pypi/pip#downloads 
在 pip中文件夹中 使用 python setup.py install报错:
ModuleNotFoundError: No module named 'setuptools'缺少组件,setuptools   http://pypi.python.org/pypi/setuptools。报错:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.需要安装  openssl-devel组件  ,yum install openssl-devel
centos中下载源码安装
  1. wget --no-check-certificate https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

解压: tar -xzvf Python-3.6.5.tgz

  1. ./configure --prefix=/usr/local/python365 --with-ssl

(这个文件夹python36需要自行创建,格式自定义,这里为了区分小的版本号执行configure文件,此文件有两个功能:1、让用户选定编译特性;2、检查编译环境。configure执行后将生成MakeFile文件。)

  1. make(编译程序)
  1. make install(编译安装)

5.安装完成,常见python36的链接

ln -s /usr/local/python36/bin/python3 /usr/bin/python3

6.下载pip (pip install --upgrade pip 更新自己)

最新pip版本
https://files.pythonhosted.org/packages/73/8e/7774190ac616c69194688ffce7c1b2a097749792fea42e390e7ddfdef8bc/pip-20.2.2.tar.gz

wget --no-check-certificate https://github.com/pypa/pip/archive/10.0.1.tar.gz

7.安装pip

python3 setup.py install

8.创建链接

ln -s /usr/local/python36/bin/pip /usr/bin/pip3

9.升级pip

python3 -m pip install --upgrade pip

pip install --upgrade pip

安装mysql扩展

pip3 install pymysql

错误汇总

1.zipimport.ZipImportError: can’t decompress data; zlib not available 安装pip的时候报错.

缺少zlib 的相关工具包导致
yum -y install zlib*

5.修改PATH环境变量,以能够识别此程序的二进制文件路径;
修改/etc/profile文件,在文件中 添加
export PATH=$PATH:/path/to/somewhere#记得是可执行文件所在的目录,路径中不要包含可执行文件。
然后执行
source /etc/profile #是我们的修改生效
查看版本

python -V
pip -V

django

django 1.0版本中最后一个版本 Until at least April 2020

基于python3安装的pip3安装django

pip3 install Django==1.11.14

查看版本


import django
django.VERSION

创建第一个django项目

使用 django-admin.py 来创建 HelloWorld 项目:
django-admin.py startproject HelloWorld

最新版的 Django 请使用 django-admin 命令:

django-admin startproject HelloWorld
创建完成后我们可以查看下项目的目录结构:
cd HelloWorld/
.
|-- HelloWorld
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

接下来我们进入 HelloWorld 目录输入以下命令,启动服务器:

python3 manage.py runserver 0.0.0.0:8000访问成功如下:It worked!
Congratulations on your first Django-powered page.
Next, start your first app by running python manage.py startapp [app_label].You're seeing this message because you have DEBUG = True in your Django settings file and you haven't configured any URLs. Get to work!如果报错:
DisallowedHost at / Invalid HTTP_HOST header: 
于是就去django-admin.py startproject project-name创建的项目中去修改 setting.py 文件: 
ALLOWED_HOSTS = ['*']  #在这里请求的host添加了*启动django后,不能访问,报400错误。
原因:没有开启允许访问
处理:编辑HelloWorld目录下setting.py ,把其中的
ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=['*'] ##* 表示任意地址。设置完还报错的话,有一个原因需要将端口加入到安全组.
将django默认是的sqlite3 数据库改为mysql
    'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),}改为'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'django','USER':'root','PASSWORD':'hmxMENG224','HOST':'127.0.0.1','PORT':'3306',}然后在项目的__init__.py文件下输入import pymysqlpymysql.install_as_MySQLdb()CREATE DATABASE 数据库名;CREATE TABLE `f_user` (`uid` bigint(11) NOT NULL AUTO_INCREMENT,`appid` char(15) DEFAULT NULL COMMENT '该用户所属机构',`phone` varchar(11) NOT NULL COMMENT '用户登录手机号',`uname` varchar(20) DEFAULT NULL,`passwd` varchar(50) NOT NULL COMMENT '登录密码',`create_time` int(11) NOT NULL COMMENT '账号创建时间',`update_time` int(11) NOT NULL COMMENT '账号创建时间',`isused` tinyint(4) DEFAULT '1' COMMENT '1为有效,0为无效(已删除)',PRIMARY KEY (`uid`),KEY `appid` (`appid`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;
视图和 URL 配置

在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:

from django.http import HttpResponsedef hello(request):return HttpResponse("Hello world ! ")

接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:

from django.conf.urls import urlfrom . import viewurlpatterns = [url(r'^$', view.hello),
]

也可以改一种访问方式

from django.conf.urls import urlfrom . import viewurlpatterns = [url(r'^hello$', view.hello),
]

注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。

url() 函数

Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。

  • regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
  • view: 用于执行与正则表达式匹配的 URL 请求。
  • kwargs: 视图使用的字典类型的参数。
  • name: 用来反向获取 URL。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316416.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Proteus仿真】【Arduino单片机】汽车尾气检测报警系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用按键、LCD1602液晶、蜂鸣器模块、CO、NOx、HC和PM2.5气体传感器等。 主要功能: 系统运行后,LCD1602显示CO、NOx、HC和…

wps将姓名处理格式为:姓**

1.打开wps,在要处理数据右侧一个单元格 输入公式:LEFT(A1,1)&"**",然后回车 2.按住ctrl和处理好的数据的右下角小方框,往下拖动即可生成格式为:姓** 格式的数据 3.复制生成的数据,右键选择 “…

Prototype原型模式(对象创建)

原型模式:Prototype 链接:原型模式实例代码 注解 模式定义 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF 目的 在软件系统中,经常面临这“某些结构复杂的对象”的创建工作&am…

一类医疗器械需要做EMC和安规吗?

摘要: 在医疗器械领域,EMC(电磁兼容性)和安规(安全规格)测试是非常重要的。医疗器械需要符合电磁兼容性标准,以确保其在电磁环境下能够正常运行而不会受到外部电磁干扰的影响,也不会干扰其他设备…

如何用SPSS对数据进行标准化处理?

下述回答节选自《SPSS统计学基础与实证研究应用精解》张甜 杨维忠 清华大学出版社 2023年。 打开相关数据,选择“分析”→“描述统计”→“描述”命令,弹出“描述”对话框。 选择进行描述分析的变量。在“描述”对话框的左侧列表框中选择“市盈率”&…

【算法】和为K的连续子数组

牛客链接:https://www.nowcoder.com/practice/704c8388a82e42e58b7f5751ec943a11?tpId196&&tqId37127&rp1&ru/ta/job-code-total&qru/ta/job-code-total/question-ranking 使用【前缀法】,把所有连续和合索引存进哈希表&#xff0c…

【Java】SpringBoot整合xxl-job学习使用详解

文章目录 介绍作用如何使用下载项目中央仓库地址环境调度中心初始化“调度数据库”配置部署“调度中心”部署项目调度中心集群(可选)其他:Docker 镜像方式搭建调度中心配置部署“执行器项目” 执行器maven依赖执行器配置执行器组件配置执行器…

【快速全面掌握 WAMPServer】13.PHP调试麻烦?请 xDebug 来帮忙!

网管小贾 / sysadm.cc 对于能否快速高效地编写程序,代码调试水平是多个重要指标之一。 按照这个逻辑,自然而然如何高效地调试代码也就成了一件非常重要而不得不让众多程序员面对的课题了。 其他编程语言的调试可能还好些,可是有过 PHP 程序…

蓝牙物联网漏洞攻击的几种方式?

在物联网日益普及的今天,蓝牙技术的广泛应用为我们的生活带来了诸多便利。然而,正如一枚硬币有两面,蓝牙技术的普及也带来了新的安全挑战。近日,一项关于蓝牙物联网漏洞攻击的研究引起了广泛关注。这项研究揭示了蓝牙物联网所面临…

微服务-理论(CAP,一致性协议)

CAP理论 关于CAP理论的介绍可以直接看这篇文章 CAP分别是什么? 一致性(Consistency 一致性包括强一致性,弱一致性,最终一致性。 一致性其实是指数据的一致性,为什么数据会不一致呢? 如上面这张图&…

金色麦芒的2023

2023年即将过去,回首这一年,我深感自己在技术和职业生涯中取得了巨大的进步。这一年里,我不仅在技术层面有了更深入的掌握,也在个人成长和职业规划上有了更明确的方向。 首先,在技术层面,我今年最大的收获是…

Nginx多ip部署多站点

目录 1.修改网卡配置信息 2.修改主要配置文件nginx.conf 1.修改网卡配置信息 1)来到网卡配置文件存放目录下 cd /etc/sysconfig/network-scripts/ 2)对 ifcfg-ens33 文件进行配置修改前先进行备份 cp ifcfg-ens33 ifcfg-ens33.default 3)先修改成最小配置,使用 d…