Django学习笔记(一)
一、基本操作
查看django版本(输出4.1)
$ python -m django --version
1.创建django项目
$ django-admin startproject mysite
创建生成文件如下,文件说明见:
文件详细介绍
django_test
│ db.sqlite3
│ manage.py
└─django_test
│ asgi.py
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py
- 创建app
django-adamin startapp app1
- 注册app
创建app1,在app1/apps.py查看类名为App1Config,添加内容'app1.apps.App1Config'到settings下的INSTALLED_APPS
- 编写url和view
在app下的views.py定义函数index
from django.shortcuts import render,HttpResponse
def index(request):
return HttpResponse("欢迎使用")
在mysite/urls.py添加url
from app1 import views
urlpatterns = [
# path('admin/', admin.site.urls),
path('index/',views.index)]
启动django
python manage.py runserver
- 添加网页
方法一:
该方法django默认在app文件夹下寻找页面,
且会根据app注册顺序逐个寻找,如果在app1中没有找到,则会在下一个app进行寻找,该方法的弊端是多个app中的html命名不能一样。
在app1下创建templates/user_list.html
#app1/views.py
def usr_list(request):
return render(request,"user_list.html")
# urls.py
urlpatterns = [
# path('admin/', admin.site.urls),
path('',views.index),
path('user/list',views.usr_list)
]
方法二:
在settings.py更改配置。该方法设置优先去根目录的templates寻找网页,再去app下的templates逐个寻找。
import os
TEMPLATES = [
'DIRS': [os.path.join(BASE_DIR,'templates')],
- html设置自动读取路径
# user_list.html
{% load static %}
<html lang="en">
<head>
<meta charset="utf-8">
<title>用户列表</title>
</head>
<body>
<h1>用户列表 app</h1>
<img src="{% static 'img/1.png' %}" alt="">
</body>
</html>
二、 模板语法
本质上:在html中写一些占位符,由数据对这些占位符进行替换和处理。
- view传递参数到模板(双花括号的使用、后端传值给前端)
在app/views.py定义函数tpl
def tpl(request):
#取单个字符串
name="小明"
#取列表中其中一个
roles=['管理员','保安','CEO']
return render(request,'tpl.html',{'n1':name,'n2':roles})
在tpl.html添加
<div>{{ n1 }}</div>
<div>{{ n2.0 }}</div>
<div>{{ n2.1 }}</div>
三、ORM
- 修改配置
settings.py

浙公网安备 33010602011771号