1. 路由
# 路由就是访问的链接
# 子应用创建urls.py绑定子应用视图, 
    urlpatterns=[
        path('home/',views.home,name="home"), # 路由不能以斜线 / 开头
    ] 
    
# 主应用urls.py绑定子应用urls.py
    urlpatterns = [
    # path('', include('App.urls')),  # 访问: ip:端口 /home/
    path('blog/', include('App.urls')),  # 访问: ip:端口 /blog/home/
]
2. 模板
# 模板就是前端页面
# 1. 主应用settings.py配置模板路径
  TEMPLATES = [
    {'DIRS': [os.path.join(BASE_DIR,'templates')],}]
# 2. 根目录新建文件夹  templates 放置HTML文件(index.html)
  <body>
      Hello,{{ name }}
  </body>
# 3. 视图函数中关联html文件
    def home(request):
      q={"title":"Django","name":"中国"}
      return render(request,"index.html",context=q)
       
3. 模型
# 模型就是数据库创建表
# 1. 子应用models.py创建模型
from django.db import models
class User(models.Model):
    username = models.CharField(max_length=20)
    password = models.CharField(max_length=128)
    class Meta:
        db_table = "user"  # 指定表名
'''
python manage.py makemigrations # 生成数据库迁移文件
python manage.py migrate       # 生成数据库表
python manage.py shell  # 命令行调试
python manage.py inspectdb > App/models1.py  # 反向迁移
'''
# 2. 视图函数中调用模型
  def home(request):  
    # 查询数据库
    users = User.objects.all()
    return render(request,"index.html",context={"users":users})
# 3. html中引用后端返回的数据
  <body>
      {% for user in users %}
          <li>{{ user.username }}</li>
      {% endfor %}
  </body>