创建并测试第一个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,问题成功解决。 

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

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

相关文章

Nginx 简单入门操作

前言:之前的文章有些过就不罗嗦了。 Nginx 基础内容 是什么? Nginx 是一个轻量级的 HTTP 服务器,采用事件驱动、异步非阻塞处理方式的服务器,它具有极好的 IO 性能,常用于 HTTP服务器(包含动静分离)、正向代理、反向代理、负载均衡 等等. Nginx 和 Node.js 在很多方…

大语言模型有什么意义?亚马逊训练自己的大语言模型有什么用?

近年来,大语言模型的崭露头角引起了广泛的关注,成为科技领域的一项重要突破。而在这个领域的巅峰之上,亚马逊云科技一直致力于推动人工智能的发展。那么,作为一家全球科技巨头,亚马逊为何会如此注重大语言模型的研发与…

解读 | GPT-4突然“变赖“ 是莫名其妙还是另有玄机

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 事情是这样的&#…

项目经理和产品经理哪个更有发展前景?

如果是单看“钱途”的话,如果是在传统行业,可能差不多;如果是在IT行业的话,可能更需要项目经理;互联网行业的话,可能更需要产品经理。 项目经理跟产品经理两个证都挺受市场欢迎的,两个岗位职责…

关东升老师Python著作推荐(由电子工业出版社出版)

前言:关东升老师简单介绍 一个在IT领域摸爬滚打20多年的老程序员、软件架构师、高级培训讲师、IT作家。熟悉Java、Kotlin、Python、iOS、Android、游戏开发、数据库开发与设计、软件架构设计等多种IT技术。参与设计和开发北京市公交一卡通百亿级大型项目&#xff0c…

钓鱼网站域名识别工具dnstwist算法研究

先上一个AI的回答: dnstwist是一种钓鱼网站域名识别工具,可帮助用户识别和检测可能被恶意使用的域名。它通过生成类似的域名变体来模拟攻击者可能使用的钓鱼域名,并提供了一系列有用的功能和信息。 dnstwist能够生成一组类似的域名变体&…

15:00面试,15:06就出来了,问的问题太变态了。。

刚从小厂出来,没想到在另一家公司我又寄了。 在这家公司上班,每天都要加班,但看在钱给的比较多的份上,也就不太计较了。但万万没想到5月一纸通知,所有人不准加班了,不仅加班费没有了,薪资还要降…

有病但合理的 ChatGPT 提示语

ChatGPT 面世一年多了,如何让大模型输出高质量内容,让提示词工程成了一门重要的学科。以下是一些有病但合理的提示词技巧,大部分经过论文证明,有效提高 ChatGPT 输出质量: ​1️⃣ Take a deep breath. 深呼吸 ✨ 作用…

ChatGPT胜过我们人类吗?

引言 人工智能(AI)一直是众多技术进步背后的驱动力,推动我们走向曾经是科幻小说领域的未来。这些进步的核心引出这样一个深刻的问题:机器能思考吗?这一问题由英国数学家和计算机科学家艾伦图灵(Alan Turin…

关于粒子群算法的一些简单尝试

粒子群算法核心思想:(鸟 粒子) (1)许多的鸟站在不同的地方; (2)每一只鸟都有自己寻找食物的初始飞行方向、飞行速度; (3)这些鸟儿每隔一段时间…

ISP-EE(Edge Enhance)

ISP-EE(Edge Enhance) EE模块在某些ISP主控中叫做sharpness或者sharpen,这些名称指代的模块是同一个,不用再纠结。主要就是在YUV域内弥补成像过程中图像的锐度损失,对边缘和细节进行加强,从而恢复场景本应具有的自然锐度。 锐度…

Linux基础指令(2)

今天我们继续来学我们有关于Linux的指令,今天的指令要比上次多多了。开始我们的学习吧。 man手册 先来看标题,手册我们第一时间想到的就是手册的查阅功能,我们都知道在我们上小学的时候,如果遇到不会的字,我们会通过…

【wvp】无响应sip 日志记录

23-12-11 17:25:18.179 [https-jsse-nio-8970-exec-7] INFO c.g.wvp.vmp.gb28181.transmit.cmd.impl.SIPCommander - 34010200001130000006_34010200001310000006 分配的ZLM为: wvpmediaserver001 [10.30.2.8:30406] 2023-12-11 17:25:18.337 [wvp-9] INFO c.g.w.v.g.t.e.r.i…

【高数:3 无穷小与无穷大】

【高数:3 无穷小与无穷大】 1 无穷小与无穷大2 极限运算法则3 极限存在原则4 趋于无穷小的比较 参考书籍:毕文斌, 毛悦悦. Python漫游数学王国[M]. 北京:清华大学出版社,2022. 1 无穷小与无穷大 无穷大在sympy中用两个字母o表示无…

IvorySQL荣获 OSCHINA「2023 年度优秀开源技术团队」奖

2023 年,OSCHINA 综合平台上各大认证官方技术团队、开源社区帐号年度发表的内容深度及广度、开展各种活动运营影响力等多方面的表现,瀚高股份IvorySQL荣获 OSCHINA颁布的「2023 年度优秀开源技术团队」奖项。未来,IvorySQL将继续为国内开源事…

E4990A 阻抗分析仪,20 Hz 至 10/20/30/50/120 MHz

01 E4990A 阻抗分析仪 20 Hz 至 10/20/30/50/120 MHz 产品综述: E4990A 阻抗分析仪具有 20 Hz 至 120 MHz 的频率范围,可在宽阻抗范围内提供出色的 0.045%(典型值)基本准确度,并内置 40 V 直流偏置源,适…

计算机科学与技术认识实习【报告】

一、实习目的 此次认识实习主要面对计算机科学与技术专业的同学,了解专业在未来的发展趋势,通过观看公司的介绍视频和技术发展情况招聘信息后的感想和学习体会等多种方式,使我们了解本专业相关领域的发展现状,让我们在校园内课堂上…

C# 数据的保存和提取(.TXT格式)

红色部分的才是最终版 一、将页面内容保存到文件中 第一步 创建Visual的Windows窗体应用,使用的是 第二步 创建几个Label控件、TextBox控件、以及Button按钮,而TextBox控件放入Panel中 第三步 先对写法进行了解,了解保存的语句 StreamWriter sw= new StreamWriter(TXT…

Anaconda+Pytorch(GPU版)深度学习环境配置笔记

主要参考以下文章进行配置: https://blog.csdn.net/qq_43757976/article/details/131173301 配置版本略有更新,最新版本时间为2023.12.11 一、准备工作 个人电脑配置:laptop RTX4060 win11 个人配置版本:cuda(12.1&…

JS:让2个li标签排列在同一行

前言 在js中&#xff0c;ul元素中li标签是块级元素&#xff0c;现在需要让2个分行的li元素显示在同一行&#xff0c;并且去掉li元素自带的标记符号 li元素处理前的样式如下&#xff1a; 实现 html代码 <div><ul><li>数据1&#xff1a;</li><li&…