1.Django程序目录
- manage.py :对当前Django程序所有操作
- settings.py : Django的配置文件
- url.py : 路由系统
- wsgi.py : 用于定义Django用socket
2.第一个Django请求
3.静态文件及其模板配置
4.Django创建程序步骤
-
创建project
-
配置:
1)模板路径
template目录:
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [BASE_DIR / ‘templates’]
,
‘APP_DIRS’: True,
‘OPTIONS’: {
‘context_processors’: [
‘django.template.context_processors.debug’,
‘django.template.context_processors.request’,
‘django.contrib.auth.context_processors.auth’,
‘django.contrib.messages.context_processors.messages’,
],
},
},
]
2)静态文件路径
STATIC_URL = ‘/static/’
STATICFILES_DIRS=(
os.path.join(BASE_DIR,‘static’),
)
3)额外配置
MIDDLEWARE = [
‘django.middleware.security.SecurityMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.middleware.common.CommonMiddleware’,
#‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
] -
简单的登录
url.pyfrom django.contrib import admin from django.urls import path from django.shortcuts import HttpResponse,render,redirect def login(request): ''' 处理用户请求,并返回内容 :param request:用户请求相关的所有信息 :return: ''' #返回什么,页面上就会显示什么 #return HttpResponse('<input type="text" />') #自动找到模板路径下的login.html文件,读取内容并返回给用户 if request.method=='GET': return render(request,'login.html') else: #用户post提交的数据(请求体) u=request.POST.get('username') p=request.POST.get("password") if u=='root' and p=='123123': #登录成功重定向到... return redirect("/index/") else: #登录失败 return render(request,'login.html',{'msg':'用户名或密码错误'}) def index(request): return render(request,'index.html',{'name':'houshuoyan', 'users':['ww','xx'], 'user_dict':['aa','bb'], 'user_dict_list':[ {'id':1,'name':'hou','email':'111@163.com'}, {'id':2,'name':'hou','email':'111@163.com'}, {'id':3,'name':'hou','email':'111@163.com'} ] }) urlpatterns = [ path('login/', login), path('index/',index) ]
login.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/common.css"> </head> <body> <h1>用户登录</h1> <form method="post" action="/login/"> <input type="text" name="username"/> <br> <input type="text" name="password"/> <br> <input type="submit" value="登录"> {{ msg }} </form> </body> </html>
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/common.css"> </head> <body> <h1>模板标记的学习</h1> <p>{{ name }}</p> <p>{{ users.0 }}</p> <p>{{ users.1 }}</p> <p>{{ user_dict.0 }}</p> <p>{{ user_dict.1 }}</p> <h3>循环</h3> {% for item in users %} {{ item }} {% endfor %} <h3>循环</h3> <table border="1"> {% for user in user_dict_list %} <tr> <td>{{ user.id }}</td> <td>{{ user.name }}</td> <td>{{ user.email }}</td> <td>修改 删除</td> </tr> {% endfor %} </table> </body> </html>