1、 安装django
pip install django #安装django
django-admin startproject mysite2 #创建项目
2. 新建一个 views.py 文件
class Person():
def __init__(self,name,age):
self.name = name
self.age = age
# 视图的函数第一个参数必须是request
# 视图函数必须有返回值,是HttpResponse对象
# 视图函数名不能重复
def index_view(request):
# print(request.GET)
# print(request.method)
# print(request.POST)
# return HttpResponse('这是项目的首页')
# 方法一 使用loader 加载
# t = loader.get_template('index.html')
# html = t.render()
# return HttpResponse(html)
# 方法二 使用 render 加载
# return render(request,'index.html')
# 方法三 传递数据进入网页
'''
在模板中使用变量方法
{{ 变量名 }}
{{ 变量名.key }}
{{ 变量名.index}}
{{ 变量名.方法 }}
{{ 函数名 }}
'''
# username = "slade"
# return render(request, 'index.html', {"username": username})
username = "walalce"
age = 18
citys = ["hanam","anhui","beijing"]
dicts = {"name":"eric","age":12,"gender":"famale"}
qtx = Person('slade.lee',18)
def myfun():
return '这是一个函数myfun执行的结果'
#locals() 根据局部变量生成字典返回
return render(request, 'index.html', locals())
def test_view(request):
if request.method == "GET":
# 当用户发送GET请求时要做的处理, 获取数据
# 1. 直接在地址栏写url
# 2. 通过超链接点击跳转
# 3. 图片/script 的src 属性
# 4. form 表单
# http://127.0.0.1:8000/test/?username=shibw&age=18
# data = request.GET
# print(data)
# # "我叫%s" %data["username"]
# return HttpResponse(f"我叫{data.get('username')}")
#http://127.0.0.1:8000/test/?answer=A&answer=B&answer=C
data = request.GET
print(data.getlist('answer')) #['A','B','C']
return HttpResponse('<h1>ok</h1>',status=404)
elif request.method == "POST":
# 当用户发送POST请求时要做的处理,提交数据
# django 出于安全角度考虑默认会对post方式提交的数据做验证
# 在settings.py中 MIDDLEWARE 大概 46行左右 注释掉就可以了 #'django.middleware.csrf.CsrfViewMiddleware',
username = request.POST.get('username')
print(username)
return HttpResponse(f'欢迎{username}')
3. url.py 文件中添加路由信息
from django.contrib import admin
from django.urls import path
from mysite2 import views
urlpatterns = [
path('admin/', admin.site.urls),
#http://127.0.0.1:8000/index/
path('index/',views.index_view),
#http://127.0.0.1:8000/test/
path('test/',views.test_view),
]
4. 修改 setting.py 文件 添加一行 添加templates的文件夹
'DIRS': [
os.path.join(BASE_DIR,'templates')
],
5.新建一个 目录 templates
在目录下新建一个index.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!-- p*3>lorem 生成以下三个p标签-->
<h1>这是一个页面 </h1>
<p> 字符串:{{ username }}</p>
<p> 数字:{{ age }}</p>
<p> 列表:{{ citys }}</p>
<ul>
<li>{{citys.0}}</li>
<li>{{citys.1}}</li>
<li>{{citys.2}}</li>
</ul>
<p> 字典:{{ dicts }}</p>
<ul>
<li>{{dicts.name}}</li>
<li>{{dicts.age}}</li>
<li>{{dicts.gender}}</li>
</ul>
<p> 对象:{{ qtx }}</p>
<ul>
<li>{{qtx.name}}</li>
<li>{{qtx.age}}</li>
<li></li>
</ul>
<p> 函数:{{ myfun }}</p>
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dignissimos distinctio eveniet excepturi hic quae quis
sapiente totam vero voluptas. Animi dicta natus non quo totam. Architecto fugit inventore nihil perspiciatis?</p>
<p>Debitis distinctio eius et explicabo harum ipsam labore laudantium libero maiores minima mollitia necessitatibus nemo
neque nesciunt nihil odit officiis omnis perferendis quidem quisquam quod recusandae, rem suscipit temporibus,
tenetur!</p>
<p>Beatae, consequatur consequuntur deleniti eius eos expedita id magni minima nesciunt nisi odit quis quisquam. Aliquam
excepturi iusto minus nesciunt obcaecati odio possimus quis quo repellendus sed, similique sint velit.</p>
</body>
</html>