创建django项目:
django-admin startproject dj
启动服务:python manage.py runserver [端口号]
,默认8000
创建app:python manage.py startapp app01
在settings.py 的 INSTALLED_APPS,列表中添加app名,完成注册
详细操作: https://blog.csdn.net/qq_51543898/article/details/126242598?spm=1001.2014.3001.5501
编写路由
编写项目同名文件夹下的urls.py文件,列出站点目录
引用app01中的views文件,path中指定站点名和引用到的函数
引用名为空时,就是默认地址,我这里是:http://127.0.0.1:8000
如果不指定,则会显示page not found
编写视图函数文件
编写app01文件夹下的views.py文件
- 可以直接在函数中写网页内容,需要导入模块
from django.shortcuts import HttpResponse
启动服务得到的页面:
- 导入html文件,需要用到的模块就是系统自动导入的:
from django.shortcuts import render
home.html 内容:
启动服务python manage.py runserver
:
指定html、css、js等路径问题
hmtl
在导入html文件之前,先要做的是让系统知道导入文件的来源。
先创建一个存放html文件的文件夹(temphtml),与app01同级即可。
在settings.py中的 TEMPLATES 中找到DIRS,将存放html文件的文件夹的路径放进去.
这里的BASE_DIR 是项目的基础路径,我这里就是它就是D:\work-place\dj
css/js/img
创建文件夹static
在settings.py中找到 STATICFILES_DIRS,写入文件夹路径
这里的STATIC_URL的作用是,可以通过url请求到静态资源
要保证URL和DIRS中的名称保持一致
向html中引入静态文件
在urls.py 文件中添加静态文件url的处理,确保Django能正确处理静态文件
from django.conf.urls.static import static
from django.conf import settings
static(settings.STATIC_URL,document_root= settings.STATIC_ROOT)
在需要引入的html文件的<head>中,添加<link>引入所需静态文件即可
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="/static_file/css/login.css">
</head>
获得网页写入的表单信息
编写html:
{% csrf_token %}, 跨站请求伪造
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试网页</title>
</head>
<body>
<h1>信息</h1>
<form action="/index/" method="post">
{% csrf_token %} <!--必须在form表单内部-->
省市:<input type="text" name="prov"/><br/>
地区:<input type="text" name="addr"/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
修改views.py文件
addr_l = []
def index(request):
if request.method == 'POST':
prov = request.POST.get('prov')
addr = request.POST.get('addr')
print(prov, addr)
temp = {'prov': prov, 'ml': addr}
addr_l.append(temp)
# return HttpResponse('hello world')
return render(request, 'demo01.html', {'data': addr_l})
启动服务,后再表单中输入信息点击提交,得到: