- 路由如何避免重名冲突
from django.contrib import admin
from django.urls import path
from demo.views import show
from demo2.views import haha
urlpatterns = [
path('admin/', admin.site.urls),
path('demo/', show),
path('demo2/', haha),
]
编写视图函数
from django.shortcuts import render
# Create your views here.
def show(request):
msg = "呵呵"
return render(request, "index.html", {"msg":msg})
编辑模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>欢迎来到王者峡谷</h1>
<p>{{ msg }}</p>
</body>
</html>
- 配置静态文件访问路径
在settings中添加
import os
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
在项目中新建文件夹static, 在static下新建css文件夹,继续新建style.css
.smart-green {
margin-left: auto;
margin-right: auto;
max-width: 500px;
background: #F8F8F8;
padding: 30px 30px 20px 30px;
font: 12px Arial, Helvetica, sans-serif;
color: #666;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
}
.smart-green h1 {
font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;
padding: 20px 0px 20px 40px;
display: block;
margin: -30px -30px 10px -30px;
color: #FFF;
background: #9DC45F;
text-shadow: 1px 1px 1px #949494;
border-radius: 5px 5px 0px 0px;
-webkit-border-radius: 5px 5px 0px 0px;
-moz-border-radius: 5px 5px 0px 0px;
border-bottom: 1px solid #89AF4C;
}
.smart-green h1 > span {
display: block;
font-size: 11px;
color: #FFF;
}
.smart-green label {
display: block;
margin: 0px 0px 5px;
}
.smart-green label > span {
float: left;
margin-top: 10px;
color: #5E5E5E;
}
.smart-green input[type="text"], .smart-green input[type="email"], .smart-green textarea, .smart-green select {
color: #555;
height: 30px;
line-height: 15px;
width: 100%;
padding: 0px 0px 0px 10px;
margin-top: 2px;
border: 1px solid #E5E5E5;
background: #FBFBFB;
outline: 0;
-webkit-box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
box-shadow: inset 1px 1px 2px rgba(238, 238, 238, 0.2);
font: normal 14px/14px Arial, Helvetica, sans-serif;
}
.smart-green textarea {
height: 100px;
padding-top: 10px;
}
.smart-green .button {
background-color: #9DC45F;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-border-radius: 5px;
border: none;
padding: 10px 25px 10px 25px;
color: #FFF;
text-shadow: 1px 1px 1px #949494;
}
.smart-green .button:hover {
background-color: #80A24A;
}
.error-msg {
color: red;
margin-top: 10px;
}
.success-msg {
color: #80A24A;
margin-top: 10px;
margin-bottom: 10px;
}
在index.html中添加css引入
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="/static/css/style.css">
</head>
from django.shortcuts import render
from demo.models import Demo
# Create your views here.
def show(request):
message_all = Demo.objects.all()
if message_all:
message = message_all[0]
print(message.id)
print(message.name)
print(message.email)
print(message.message)
return render(request, "index.html", {"message":message})
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="/static/css/style.css">
</head>
<body>
<form action="" method="" class="smart-green">
<h1>留言信息
<span>请留下你的信息.</span>
</h1>
<label>
<span>姓名 :</span>
<input id="name" type="text" name="name" class="error" placeholder="请输入您的姓名", value="{{ message.name }}"/>
<div class="error-msg"></div>
</label>
<label>
<span>邮箱 :</span>
<input id="email" type="email" value="{{ message.email }}" name="email" placeholder="请输入邮箱地址"/>
<div class="error-msg"></div>
</label>
<label>
<span>联系地址 :</span>
<input id="address" type="text" value="{{ message.address }}" name="address" placeholder="请输入联系地址"/>
<div class="error-msg"></div>
</label>
<label>
<span>留言 :</span>
<textarea id="message" name="message" placeholder="请输入你的建议">{{ message.message }}</textarea>
<div class="error-msg"></div>
</label>
<div class="success-msg"></div>
<label>
<span> </span>
<input type="submit" class="button" value="提交"/>
</label>
</form>
</body>
</html>
保存留言信息
编写前端post请求
更新views.py
from django.shortcuts import render
from demo.models import Demo
# Create your views here.
def show(request):
if request.method == 'GET':
print("get 请求")
message_all = Demo.objects.all()
if message_all:
message = message_all[0]
print(message.id)
print(message.name)
print(message.email)
print(message.message)
return render(request, "index.html", {"message": message})
if request.method == 'POST':
print("post 请求")
msg = "保存成功!"
name = request.POST.get("name")
email = request.POST.get("email")
message = request.POST.get("message")
address = request.POST.get("address")
demo = Demo()
demo.name = name
demo.email = email
demo.address = address
demo.message =message
demo.save()
return render(request, "index.html",{"msg":msg})
网友评论