技术交流QQ群:1027579432,欢迎你的加入!

本教程来源于B站杨仕航Django2.0开发视频教程,如需转载,必须注明来源!

1.如果页面较多

  • 如果有多个文章界面,如下所示:
    www.xxx.com/blog/1/     HttpResponse("one")
    www.xxx.com/blog/2/   HttpResponse("two")
    www.xxx.com/blog/3/
    HttpResponse("three")
    ...
    www.xxx.com/blog/n/
    HttpResponse("more")
  • 如果有多个文章界面,每篇文章的格式相似,不需要写太多雷同的处理方法。每篇文章的区别在于标题和正文,可以用一个模板来解决。


    解决方法.png

2.Django App

  • 创建一个Django应用:python manage.py startapp 应用名称
    名为article的Django应用.png
  • 在article文件夹下的models.py文件中定义上一步中提到的模板,如下所示:
    # 定义模型
    
    class Article(models.Model):
        title = models.CharField(max_length=30)  # 文章标题
        content = models.TextField()  # 文章内容

3.同步数据库

  • 注意:在全局设置文件settings.py中注册名为Article的Django应用,如下所示:
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'article',   # 添加的内容!
    ]
  • 依次执行两个操作:
    • python manage.py makemigrations:制造迁移
    • python manage.py migrate:迁移
    E:\Django\mysite
    $ python manage.py makemigrations
    Migrations for 'article':
    article\migrations\0001_initial.py
      - Create model Article
    
    E:\Django\mysite
    $ python manage.py migrate
    Operations to perform:
    Apply all migrations: admin, article, auth, contenttypes, sessions
    Running migrations:
    Applying article.0001_initial... OK
  • 怎么在管理员登录页面localhost:8000/admin/中展现模型文件models.py中已经定义的字段?解决方法:在Django应用article中的admin.py文件中添加如下内容:
    from .models import Article
    # Register your models here.
    
    # 注册模型
    admin.site.register(Article)
管理员登录界面已更新,模板文件中定义的字段已显示.png
  • 在管理员登录界面中添加第一篇文章的title和content,然后保存。如下图所示:


    添加第一篇文章.png
  • 如何将管理员登录界面汉化?解决方法:在全局设置文件settings.py中,将LANGUAGE_CODE改为'zh-Hans'即可
    管理员登录界面文字汉化.png