02-路由-模板-模型 使用

发布时间 2023-03-28 18:35:34作者: 测试圈的彭于晏

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>