一、安装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
这样就可以正常访问了