一、安装Django

方法一:在cmd中安装Django

方法二:在pycharm中安装Django,点击settings,点击右边的加号即可添加库

搜索Django模块,点击install进行下载安装

二、创建Django项目

1、图文版创建Django项目

点击 file ——> new project 会弹出一下对话框

点击创建之后Django会自动生成以下目录文件

2、创建一个APP

一个Django项目可以包含多个APP,相当于一个模块包含多个子模块一样,可以相互独立,也可以相互联系,他们可以共享同一个资源,在终端terminal输入一条命令即可创建一个APP

python manage.py startapp APP的命名

回车

这样就创建了一个名为webapp的APP

例:命令行版创建Django项目(如果使用了图文版创建项目,这里可以忽略)

在终端terminal中先 cd 进入你想要存放项目的路径,然后输入以下命令创建一个 Django项目

django-admin startproject 你的项目名字

创建好项目之后,也要创建一个APP,比如这个APP的名字就叫webapp,首先要 cd 进入你刚刚创建的项目名下比如 cd mysite ,然后再输入以下命令

python manage.py startapp blog

这样APP也创建好了,可以进行以下步骤了

3、配置路由

4、编写视图函数

路由转发用户请求到的视图函数。视图函数处理用户请求,也就是业务处理逻辑,一般都在views.py文件里

5、运行Django项目

配置完以上的就可以运行Django项目了

点击网址发现页面报404了,说找不到页面

原因是因为我们在url.py路由文件中只配置了admin和index这两个url

所以我们在 http://127.0.0.1:8000/ 后面加个index就可以了,http://127.0.0.1:8000/index ,我们在views.py里面写的字符串就显示出来了

也可以看下admin这个url,发现这是一个Django管理员后台

三、发布网页

以上发布的只是我们写的一个字符串,我们要向做个网站的话总不能全部用字符串吧,接下来是返回HTML页面

1、在templates里面创建一个html页面

2、在html写内容

在templates新建一个html文件,然后在html文件中写点内容

然后我们在视图文件views.py中把这个页面给渲染出来

为了让Django知道我们的html文件在哪里,需要修改settings文件的相应内容

接下来我们重启一下Django,输入 http://127.0.0.1:8000/index 再刷新一下看看

OK,已经把html的内容成功渲染出来了

四、在Django中使用我们自己创建的 static 静态资源,这个静态资源可以存放html、JavaScript、css


这里存放了 jQuery 和 bootstrap 来试一下

我们在 index.html 中添加 bootstrap 样式试下,添加以下语句就可以使用bootstrap样式了

 <link href="/static/css/bootstrap.css" rel="stylesheet">

具体可以参考bootstrap的官方文档 https://v3.bootcss.com/css/

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link href="/static/css/bootstrap.css" rel="stylesheet">
</head><style>body{background-color: #31708f;}h1{color: white;}.dv{text-align: center;margin: 0 auto;}form{position: fixed;top: 30%;left: 42%;width: 300px;margin: 0 auto;}.input_style{width: 300px;height: 50px;}
</style><body><div class="dv"><h1>Django Login</h1><form action="/index/" method="post"><input class="form-control input_style" type="text" name="username" placeholder="input your username"><br><input class="form-control input_style" type="password" name="password" placeholder="input your password"><br><input class="btn btn-primary input_style" type="submit" value="登录"></form></div>
</body>
</html>

这样发布项目的时候是访问不了这些框架的,因为我们还没有把 static 注册到settings文件中,就好像templates一样注册,在settings文件中的最后那里,添加以下语句即可

STATICFILES_DIRS = [   #这里使用的是数组括号,并不是花括号或者大括号os.path.join(BASE_DIR,'static'),
]


然后再发布一下,发现报错了,是端口被占用了,可以在cmd中输入netstat -ano查看是哪个端口被占用了,然后再任务管理中把它关掉就行了,一般是酷狗占用了

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
July 19, 2019 - 14:26:35
Django version 2.2.3, using settings 'django_demo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。

或者在pycharm里面修改端口,点击run——>Edit Configurations


这样就可以正常访问了

一篇文章搞懂Django项目创建运行相关推荐

  1. 一篇文章搞懂filebeat(ELK)

    一篇文章搞懂filebeat(ELK) https://www.cnblogs.com/zsql/p/13137833.html 目录 一.filebeat是什么 1.1.filebeat和beats ...

  2. c++ 计算正弦的近似值_一篇文章搞懂正弦保真性

    本文介绍数字信号处理中"正弦保真性"这一概念,想要更好地理解本文所述内容,建议读者先阅读<一篇文章搞懂卷积>. 正弦保真性定义 一个正弦信号作为线性时不变系统的输入时, ...

  3. 一篇文章搞懂算法基础

    源码地址 https://github.com/javanan/DataStructure 目录 时间复杂度介绍 空间复杂度介绍 递归算法与非递归算法区别和转换 折半查找/二分查找算法 链表实现 反转 ...

  4. 一篇文章搞懂架构师的核心技能

    " 这是架构师系列的第一篇:核心技能,希望这个系列能完全揭示架构师这个职位:我先从核心技能开始,后续还有架构师之路,架构实战等架构师系列文章. 本文作者 陈睿 优知学院创始人,前携程定制旅游 ...

  5. 【一篇文章搞懂】什么是分布式锁?为什么要用分布式锁?看这篇文章准没错!

    简介 HikariCP 是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能,另外,和 dr ...

  6. 组件化开发实战_一篇文章搞懂什么是前端“组件化”开发

    学过网页的朋友都知道,制作一个网页离不开HTML.CSS和JavaScript技术.对于初学者来来说,掌握这3门技术就已经很不容易了,为什么前端为什么又要搞出来一个"组件化"开发的 ...

  7. reactrouter监听路由变化_一篇文章搞懂前端路由原理解析和实现方式

    在单页应用如此流行的今天,曾经令人惊叹的前端路由已经成为各大框架的基础标配,每个框架都提供了强大的路由功能,导致路由实现变的复杂. 想要搞懂路由内部实现还是有些困难的,但是如果只想了解路由实现基本原理 ...

  8. 一篇文章搞懂STL中的空间配置器allocator(原创,多图,易懂)

    Table of Contents 0.引入 1.标准的空间配置器allocator 2.更为高效的空间配置器alloc 2.1----对象的构造与析构 2.1.1 对象的构造:::construct ...

  9. 一篇文章搞懂JavaScript运行机制

    单线程的JavaScript: 众所周知JavaScript这门语言是单线程,但是为什么要设计成单线程呢?明明多线程更加有效率. 这里我们就要从JavaScript的用途来考虑,JavaScript是 ...

最新文章

  1. zabbix4.0搭建(基于CentOS6.8)
  2. 用户空间和内核空间通讯之【proc文件系统】
  3. java斗破苍穹游戏阵容,斗破苍穹手游竞技场阵容搭配解析 最强阵容你知道吗
  4. 一行Python代码就可以玩一些童年小游戏
  5. 本周六与您相约 | 计算未来轻沙龙:让机器拥有理解语言的能力
  6. 每天学点Linux命令:倒叙打印文件第二行的前100个大写字母
  7. 竞赛推荐:openEuler 高校开发者大赛启动!
  8. pytorch clamp 与clamp_区别
  9. 麓山滨江2021高考成绩查询,长沙2021高考成绩排名榜单,长沙各高中高考成绩喜报...
  10. MyCat双机HA高可用集群搭建_Keepalived安装和配置---MyCat分布式数据库集群架构工作笔记0029
  11. iOS 给webView加进度条(WKWebView)
  12. ssm网上书城系统毕业设计-附源码180919
  13. Ultraedit删除空白行
  14. 5操作系统的运行机制和体系结构
  15. oracle 无法归档日志,报all online log need archiving
  16. 无穷积分的符号计算及其MATLAB程序
  17. 如何添加或删除ubuntu用户和组
  18. MATLAB弹出窗口定义操作函数
  19. 计算机二级 word准靠证,计算机二级考试真题-Word-小郑-会计准考证
  20. python提取数字前6位_取Pandas列的前6位数

热门文章

  1. 零售店铺想要日进斗金?这三个点照着做就行!
  2. 2020 BAPC Preliminaries 题解
  3. 为什么百度语音比科大讯飞差了几条街?
  4. 算法设计与分析: 4-11 硬币找钱问题
  5. Vitis下载安装尝试
  6. 红绿3d眼镜与红蓝3d眼镜区别_Rokid X 非白三维,AR眼镜 + 3D扫描
  7. vue微信浏览器安卓正常 ios config 报错 “errMsg“:“config:invalid问题
  8. 小游戏:俄罗斯方块(Qt 5.9.8)
  9. cie规定的标准光源_标准光源
  10. 汉服经济迎来“井喷式”发展!vr全景助力汉服数字化蜕变