Django学习笔记(2)简单实现一个网站

默认使用了一个user模块,创建的django项目名为dj_test

1.user文件下,models.py中写上创建Category数据库表

#user.models   content
from django.db import models

# Create your models here.
#注:每创建一个table,系统默认第一个字段id,自动新增,无需再次新增
class Category(models.Model):#类名就是表名
    name = models.CharField(verbose_name='分类名',max_length=50,unique=True)#定义字符字段name
    creat_time = models.DateTimeField(verbose_name='创建时间',auto_now_add=True)#datetime字段create_time
    update_time = models.DateTimeField(verbose_name='修改时间',auto_now=True)
    is_delete= models.BooleanField(verbose_name="是否删除",default=False)

    class Meta:#Meta用来自定义表内容
        db_table = 'category'#自定义table名称
        ordering=['-creat_time']#定义排序按照xxx字段排序,默认升序,加减号表示降序
        verbose_name = '文章分类'#定义模型中的名称,用于后台管理操作方便
        verbose_name_plural = verbose_name#定义复数名词,不然系统会自动在verbose_name后面加s,如'文章分类s'

    def __str__(self):#默认返回系统对象名,需要重新命名来识别
        return self.name

2.执行python manage.py makemigrations    #生成迁移文件,创建表结构

3.执行python manage.py migrate    #同步到数据库,生成数据库表

  执行2和3操作后,user下方同级目录会生成一个db.sqlite3的文件,右击copy path(绝对路径),复制到navicat或者pycharm自带数据库连接工具上,检查数据库结构

4.启用admin管理工具,在管理平台添加数据

  在user-admin.py中,将Category表注册到admin后台,user  admin.py添加注册代码

# user admin.py content
from django.contrib import admin

# Register your models here.
#激活测试管理工具,需要先将category表注册到管理工具上
from . import  models
admin.site.register(models.Category)

  

在浏览器输入http://127.0.0.1:8000/admin/  进入管理工具页面。此时没有账户和密码,需要在命令行执行python manage.py createsuperuser  来创建超级用户,设置账户和密码

进入管理平台后,可以手动页面上添加和修改数据,无需直接去操作数据库,

注意:每次新增/修改/删除等操作,都需要执行python manage.py makemigrations 和 python manage.py migrate语句

5.在user   view.py中定义index方法

 1 import datetime
 2 
 3 from django.shortcuts import render
 4 
 5 from .models import Category
 6 # Create your views here.
 7 def index(request):
 8     catagories = Category.objects.all()#获取所有数据
 9     print(catagories)
10     time = datetime.datetime.now()
11     data = {'nav':catagories,'time':time}
12     return render(request,'index.html',data)#引用数据需要通过字典data引用

6.在user上方统计目录templates中创建index.html文件
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Django</title>
 6 </head>
 7 <body>
 8     <h1>欢迎光临!今天的日期是{{ time }}</h1>
 9 <ul>
10     {% for n in nav %}
11         <li>{{ n }}</li>
12     {% endfor %}
13 </ul>
14 </body>
15 </html>

7.dj_test目录下的urls.py,需要添加步骤5view.py定义的index方法

1 from django.contrib import admin
2 from django.urls import path
3 from user.views import index
4 
5 urlpatterns = [
6     path('admin/', admin.site.urls),
7     path('index/', index),#第二个参数index 指的是view.py中定义的index方法
8 ]

8.在浏览器中输入http://127.0.0.1:8000/index/ ,即可查看

原文地址:https://www.cnblogs.com/bugoobird/p/13307184.html