创建并测试第一个django项目并解决过程中遇到的问题

Django 是一个高级 Python Web 框架,它鼓励快速开发和简洁、实用的设计。它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费和开源的。

目录

一、django项目

1.创建django项目(PyCharm方式)

2.创建app应用

3. 创建静态文件夹

4.测试

二、解决过程中遇到的问题

1.Pycharm中如何设置在新窗口打开项目

2.报错OSError:[WinError 10013]以一种访问权限不允许的方式做了一个访问套接字的尝试

1)强制关闭其他占用端口的进程

2)改django项目的运行端口


一、django项目

1.创建django项目(PyCharm方式)

(1)打开pycharm,点击左上角的File,然后选择New Project,左侧选择Django,接下来配置项目位置、python解析器,点击创建按钮,

可以看到整个文件夹的结构如下所示,django中项目会有一些默认的文件和默认的文件夹。

对默认文件的简单介绍:

(2)打开pycharm终端,由于django是第三方模块,所以需要用pip install django 命令安装,如果版本是python3.x请使用:

pip3 install django -i http://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

 

2.创建app应用

app是一个应用,django中是可以编写大型的项目的,每一个大项目中有很多分类的小功能,支持拆分成一个个小的app。

应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。

——项目
    ——app,用户管理【表结构、函数、HTML模板、CSS】
    ——app,订单管理
    ——app,API
    ——app,网站
每一个app可以有自己独立的数据库的表结构.....

(1)进入文件所在目录的终端,执行下列命令创建 app。

python manage.py startapp app01

补充删除app的方式:
manage.py migrate my_app_name app01

setting.py中确保已注册app:在项目的setting.py文件中,INSTALLED_APPS节点下,新增注册语句即可完成注册。

特别注意:如果不注册app,那么app下的模型model.py文件中的模型类,是无法创建数据表的。

app目录如下所示,我们需要在下列图中所示的两个文件中新增内容,

3. 创建静态文件夹

在项目的目录路径下创建static文件夹,并在项目的settings.py文件中引入静态文件夹的路径,

4.测试

(1)编写home应用里的URL和视图函数对应关系【urls.py】

(2)编写home应用里的视图函数【views.py】

编写视图函数,视图中的函数默认要有一个参数request.这里以index函数为例。你的函数名不一定叫index,但要和上面url.py中写的函数名保持一致才行。

用户如果访问这个URL,会执行这个函数,函数返回了一个“欢迎使用” 的字符串,用户的浏览器上就会出现。

(3)使用下列命令来启动django项目,

python manage.py runserver

终端运行这条命令之后,可以在PyCharm看到:

(4)点击该网址用浏览器打开,然后访问网址127.0.0.1:8001/home/index/,就可以看到如下所示页面,恭喜你已经成功创建了自己第一个django项目。

同时,在pycharm的运行窗口也可以看到请求信息,

 

二、解决过程中遇到的问题

1.Pycharm中如何设置在新窗口打开项目

打开File->Setting,找到Appearance & Behavior -->System Setting,在右边窗口中选择 Open project in new window,点击OK。

2.报错OSError:[WinError 10013]以一种访问权限不允许的方式做了一个访问套接字的尝试

报错:

原因:django默认启用的是8000端口,而8000端口经常会被其他进程占用,造成端口冲突

解决:有两个方式,

  • 第一种是强制关闭其他占用5000端口的进程,或者占用你设置好的端口的进程,这种方式虽然比较方便,但是可以说是一次性的,你重启电脑之后,这些冲突的端口还是会产生冲突,依旧报错。
  • 第二种方式就是一劳永逸了,换个没有进程在使用的端口。

1)强制关闭其他占用端口的进程

首先win+r打开运行,输入cmd打开命令提示符,输入以下内容,用于查看目前占用5000端口的进程有哪些:

netstat -ano|findstr 8000

然后会出现以下内容:

这里我们可以看到,目前占用8000端口的是进程号为14440的这个进程,那么我们只要结束这个进程就可以正常运行django程序了。

杀死这个占用端口的进程之后,我们再去运行自己的django项目就会发现不会再报错了。

2)改django项目的运行端口

第一种方式比较简单,但是也存在一定的不足,笔者的电脑在重启之后会再一次报错,查看端口占用情况后,发现还是有进程占用5000端口,需要重复进行杀死进程的操作才能恢复。

所以更推荐直接更改django项目的运行端口,将8000端口改为一些电脑不常用的端口,步骤如下:
(1)首先进入pycharm,在我们的导航栏里依次点击Run→Edit Configurations…,

(2)然后在点开的界面里,点击Configuration,在Additional options一栏中输入django项目要设置的IP地址以及端口,这里以IP地址127.0.0.1,端口8001为例,输入格式如下图所示,输入完成后点击Apply、OK即可。

 更改完成后,咱们运行django项目,就会发现端口已经更改完成啦。

ok,问题成功解决。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

官宣!「湾区之光群星演唱会」拉开2024新年音乐华丽序幕!

万众期待,群星荟萃!青春宝安时尚湾区——湾区之光群星演唱会即将在2024年1月5日闪耀亮相深圳宝安。 华语歌坛巨星天后齐聚一堂,携手多位实力唱将,共同呈现一场无与伦比的演唱会盛宴!在深情而又充满力量的歌声之中&…

孩子还是有一颗网安梦——Bandit通关教程:Level 0 → Level 1

🕵️‍♂️ 专栏《解密游戏-Bandit》 🌐 游戏官网: Bandit游戏 🎮 游戏简介: Bandit游戏专为网络安全初学者设计,通过一系列级别挑战玩家,从Level0开始,逐步学习基础命令行和安全概念…

LabVIEW开发矿井排水监控系统

LabVIEW开发矿井排水监控系统 针对矿井水害对煤矿安全生产构成的威胁,设计了一种基于嵌入式PLC和LabVIEW的矿井排水监控系统。该系统结合了PLC的可靠控制与单片机的应用灵活性,有效克服了传统排水方法中的不足,如测量不准确、效率低下等问题…

Java:字符流 文件输出 与 读入 方法

Java:字节流 文件输出与读入方法 并 实现文件拷贝 文章目录 字符流FileReaderFileWrite 字符流 字符流底层就是字节流。 字符流 字节流 字符集 特点: 输入流:一次读入一个字节,遇到中文时,一次读多个字节。 输出流…

图-数据结构

图的介绍 如果你有学过《离散数学》,那么对图的概念一定不陌生,在计算机科学中,一个图就是一些顶点的集合,这些顶点通过一系列边连接(结对)。顶点用圆圈表示,边就是这些圆圈之间的连线。注意&a…

Design patterns--代理模式

设计模式之代理模式 我们使用Qt开发大型应用程序时,经常遇见大型程序启动时需要加载一些配置信息、用户末次操作信息,以及算法模型等数据时比较费时,笔者在程序启动时设计欢迎页或加载页等窗体来提示用户程序正在加载某些数据,加载…

【Java数据结构 -- 顺序表】

List和ArrayList与顺序表 一. List1.1 List介绍2.1 常见接口介绍3.1 List的使用 二. ArrayList与顺序表1.线性表2.顺序表2.1 接口的实现2.2 顺序表的创建2.3 顺序表的打印2.4 顺序表的插入2.5 顺序表的按索引位置插入数据2.6 判断顺序表是否包含某个数2.7 返回顺序表某个数的索…

谁会成为第一个MoE大模型基座呢?重磅!Mixtral MoE 8x7B!!!

文章目录 谁会成为第一个MoE大模型基座呢?重磅!Mixtral MoE 8x7B!!!前言重磅!Mixtral MoE 8x7B!!!Mixtral是啥模型介绍模型结构长啥样?表现如何?可…

Python从入门到精通五:Python数据容器

数据容器入门 为什么学习数据容器 思考一个问题:如果我想要在程序中,记录5名学生的信息,如姓名。 如何做呢? 学习数据容器,就是为了批量存储或批量使用多份数据 Python中的数据容器: 一种可以容纳多份…

HCIA-H12-811题目解析(10)

1、【单选题】DHCP客户端在租期到达哪个比例时第一次发送续租报文? 2、【单选题】在WLAN中用于标识无线网络, 区分不同的无线网络的是? 3、【单选题】我们在笔记本电脑上搜索可接入无线网络时,显示出来的网络名称实际是 4、【单…

哪些原因导致MES管理系统实施项目失败

在制造业中,实施MES管理系统是一种提高生产效率、降低成本、提升质量的重要手段。然而,许多MES管理系统实施项目并未取得预期的成功,甚至失败。本文将探讨导致MES管理系统实施项目失败的原因。 1、需求不明确 在MES实施项目中,需…

Java-异常(一)-异常的概述和常见异常的举例

🐶b站视频 124-异常处理-异常的概述与常见异常的举例_哔哩哔哩_bilibili 目录 b站视频 5.1 异常概念 5.2 Error 示例代码 5.3 Exception异常划分 ❓面试题:常见的异常有哪些?举例说明 🐶5.1 异常概念 在使用计算机语言进行…

基于SSM的校园心理健康网站的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

PostGIS学习教程十二:地理

PostGIS学习教程十二:地理 坐标为"地理(geographics)“形式或者说是” 纬度(latitude)/经度(longitude)"形式的数据非常常见。 与Mercator(墨卡托)、UTM&…

【jitterbuffer】2:OnCompleteFrameCallback 送去FrameBuffer 处理的流程

【jitterbuffer】2:OnCompleteFrameCallback 送去FrameBuffer 处理的流程 基于m98版本。 WebRtc Video Receiver(六)-FrameBuffer原理 大神有个详细的论述。 Finder的FID设计 H.264 没有FID,使用RtpSeqNumOnlyRefFinder ,比较复杂,要做出决定 RtpSeqNumOnlyRefFinder cla…

canvas 有趣的弹簧效果

先上效果 两个小球之间有一根弹簧,这里有一条线表示,其中左球固定,在点击开始后,右球开始做自由落体 思路 先做受力分析 经过受力分析可以发现,整个系统一共有三个力在起作用,我们分别把他们求出来并合成…

鸿蒙原生应用再添新丁!同花顺入局鸿蒙

鸿蒙原生应用再添新丁!同花顺入局鸿蒙 来自 HarmonyOS 微博12月11日消息,同花顺已完成#鸿蒙原生应用#beta版本,并正在进行全量版本开发,进一步丰富了#鸿蒙原生应用#的覆盖领域。同花顺作为股民和券商首选的一站式金融理财服务平台…

搜集怎么绘制三维曲线和曲面?

1、针对函数对象是单一变量、两个函数的情况。用plot3函数;(三维曲线) 看一下matlab官方的例子: t 0:pi/50:10*pi; st sin(t); ct cos(t); plot3(st,ct,t) 绘制出来的曲线: 几个比较关键的点: &…

Linux系统编程(一):基本概念

参考引用 Unix和Linux操作系统有什么区别?一文带你彻底搞懂posix Linux系统编程(文章链接汇总) 1. Unix 和 Linux 1.1 Unix Unix 操作系统诞生于 1969 年,贝尔实验室发布了一个用 C 语言编写的名为「Unix」的操作系统&#xff0…

nginx中的正则表达式及location和rewrite

目录 常用的Nginx 正则表达式 location和rewrite的区别 location location 大致可以分为三类 location 常用的匹配规则 location 优先级 location 示例说明 location优先级的总结 rewrite rewrite的功能 rewrite实现跳转的条件 rewrite的执行顺序 rewrite的语法格式…