安装及查看版本
1
2
3
4
5
6
| pip3 install Django==4.0.6
# 进入python
python
import django
print(django.get_version())
|
windows安装路径
1
| C:\Users\Administrator\AppData\Local\Programs\Python\Python39\Lib\site-packages\django
|
创建第一个django 项目
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| # 新建一个文件夹
E:\code2022\django\demo
# 进入文件夹
cd E:\code2022\django\demo
# 创建项目 mysite 是项目名称
django-admin.exe startproject mysite
# 进入到mysite 然后启动项目
cd mysite
python manage.py runserver
"""
July 08, 2022 - 15:34:30
Django version 4.0.6, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
"""
# 访问:http://127.0.0.1:8000/ 出现网页,项目启动成功。
|
注意:启动项目可以指定端口,不指定默认是8000
1
| python manage.py runserver 8002
|
创建网页文件views.py
在mysite文件夹内部创建
1
2
3
4
| from django.http import HttpResponse
def hello(requets):
return HttpResponse("Hello world! ")
|
修改url路径
编辑urls.py
1
2
3
4
5
6
| from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.hello),
]
|
测试访问:
1
| http://127.0.0.1:8000/hello/
|
访问过程:
1
2
| 浏览器访问:http://127.0.0.1:8000/hello/ -> 先到urls.py中hello路径对应的页面 views.hello->
然后执行views.py中定义的hello函数->最后把结果返回给浏览器。
|
创建第二个项目mysite2
1
2
| # 路径 E:\code2022\django\demo
django-admin.exe startproject mysite2
|
创建和mysite2
同级的文件夹templates
并在其内部创建mytemp.html
1
2
3
4
5
6
7
8
9
10
11
12
| # 路径 E:\code2022\django\demo\mysite2 注意要和mysite2 内部的mysite2同级。
# mytemp.html 内容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{ hello }}</h1>
</body>
</html>
|
修改E:\code2022\django\demo\mysite2\mysite2\settings.py
文件内容
找到刚刚创建的templates
文件夹路径,修改下
1
2
3
4
5
6
7
| TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
在第一行引入os模块
import os
|
解释os.path.john(BASE_DIR,'templates')
引入os
模块,将BASE_DIR
(项目绝对路径)和templates
做路径拼接。拼接后的结果是:E:\code2022\django\demo\mysite2\templates
在E:\code2022\django\demo\mysite2\mysite2
中创建views.py
文件
1
2
3
4
5
6
7
8
| from django.shortcuts import render
def mytemp(request):
context = {}
context['hello'] = 'Hello World!'
return render(request, 'mytemp.html', context)
|
修改url(E:\code2022\django\demo\mysite2\mysite2\urls.py
)
1
2
3
4
5
6
7
| from django.urls import path
from . import views
urlpatterns = [
path('mytemp/', views.mytemp),
]
|
进入项目所在文件夹,在cmd中启动项目指定端口8002
1
| python manage.py runserver 8002
|
测试访问
1
| http://127.0.0.1:8002/mytemp/
|
访问过程
1
2
3
4
5
| 127.0.0.1:8002/mytemp
->urls.py中寻找/mytemp 它的映射为: views.mytemp
-> mytemp函数在views.py中定义
->mytemp函数还定义了context空字典,传入键(hello)和值(Hello World!) 。键将在主页(mytemp.html)中调用。
-> h1标签中调用键(hello)
|
django模板标签
链接
列表
templates 中的 mytemp.html 中,可以用 . 索引下标取出对应的元素。
D:\code2022\Django\demo\mysite2\mysite2\urls.py
中修改路径
1
2
3
4
5
| from django.urls import path
from . import views
urlpatterns = [
path('mytemp/', views.mydef),
]
|
新建D:\code2022\Django\demo\mysite2\mysite2\views.py
文件,定义mydef
函数
1
2
3
4
5
| from django.shortcuts import render
def mydef(request):
views_list = ["简单示例demo1","简单示例demo2","简单示例demo3"]
return render(request, 'mytemp.html', {"views_list": views_list})
|
创建模板文件夹和主页文件
D:\code2022\Django\demo\mysite2\templates
和D:\code2022\Django\demo\mysite2\templates\mytemp.html
Tip:可以用!+Tab
键快速创建html代码,然后再添加内容。s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # mytemp.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<p>{{ views_list }}</p> # 取出整个列表
<p>{{ views_list.0 }}</p> # 取出列表的第一个元素
</head>
<body>
</body>
</html>
|
设置主页文件(mytemp.html
)路径
D:\code2022\Django\demo\mysite2\mysite2\settings.py
找到关于templates
文件夹的配置
1
2
3
4
5
6
| import os
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
|
启动项目
1
| python .\manage.py runserver 8003
|
访问127.0.0.1:8003/mytemp
测试。
字典
D:\code2022\Django\demo\mysite3\mysite3\urls.py
1
2
3
4
5
| from django.urls import path
from . import views
urlpatterns = [
path('mytemp/', views.mydef),
]
|
D:\code2022\Django\demo\mysite3\mysite3\views.py
1
2
3
4
5
| from django.shortcuts import render
def mydef(request):
views_dict = {'name':'简单demo演示'}
return render(request,'mytemp.html', {'views_dict': views_dict})
|
D:\code2022\Django\demo\mysite3\templates\mytemp.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<p>{{ views_dict }}</p>
<p>{{ views_dict.name }}</p>
</head>
<body>
</body>
</html>
|
D:\code2022\Django\demo\mysite3\mysite3\settings.py
1
2
3
4
5
6
| import os
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
|
启动项目并测试
1
2
| python .\manage.py runserver 8004
http://127.0.0.1:8004/mytemp
|
警告
本文最后更新于 July 22, 2023,文中内容可能已过时,请谨慎使用。