• django初探-创建简单的博客系统(一)


    django第一步

    1. django安装

      pip install django

      print(django.get_version()) 查看django版本

    2. 创建项目

      打开cmd,进入指定目录

      django-admin startproject projectname或

      django-admin startproject projectname .     #最后是空格加点

      二者会在文件目录上存在差别

    3. 创建应用

      进入project目录

      django-admin startapp appname或

      python manage.py startapp appname

      二者虽方式不同,但效果一样

      manage.py文件在项目创建后会被自动生成在项目的根目录下,它是对django-admin.py的简单封装,所以效果一样

    4. 启动服务

      python manage.py runserver

    5. 测试

      在浏览器中输入http://localhost:8000或http://127.0.0.1:8000

      

    django项目结构认识

      windows平台下使用tree/f命令查看详细的文件结构

      下图创建xbqr项目和blog应用后的文件结构:

      

    xbqr文件夹

      1. settings.py:这个文件包含了项目的初始化设置,可以针对整个项目进行相关参数配置,比如配置数据库,添加应用。

        重点关注以下几项:

        (1)DEBUG:

          # SECURITY WARNING: don't run with debug turned on in production!
          DEBUG = True

        (2)ALLOWED_HOST

          在DEBUG为true时,其值可以为空,当部署到生产环境中时,要把主域名添加在这里,

          才能通过域名访问到本网站

        (3)INSTALLED_APPS

           这是一个非常重要的配置,所有的应用都被添加在这里

        (4)DATEBASES

           配置数据库,django支持多种数据库,MySQL、PosttgreSQL、Oracle等,默认的配置是SQLite

        (5)LANGUAGE_CODE

          设置项目语言,一般情况下不用修改,若非用汉字,则设置为‘zh-hans’

        (6)TIME_ZONE

          设置时区,通常为东八区,设置为‘Asia/Shanghai’

      2. urls.py

        URL配置表文件,根据用户输入的url将URL映射到应用程序上

      3. wsgi.py

        WSGI是python所选择的服务器和应用标准,Django也会使用

    blog文件夹

      1. admin.py

        在这个文件中可以自定义Django的管理工具,比如设置在管理界面能够管理的项目,

        或者通过自定义与系统有关的类对象,向管理功能添加新的内容

      2. apps.py

        包含对应用的配置,为管理功能提供一个合适的应用名称

      3. migrations

        这是一个目录,用于存储应用的数据库表结构的指令,通过这些指令可以修改和创建数据库,从而在models.py模型类和数据库之间迁移

      4. models.py

        应用的数据模型

      5. tests.py

        编写测试文档来测试所建立的应用

      6. views.py

        用户保存响应各种请求的函数和类

    编写简单博客

    1. 编写数据模型类

      修改blog/modells.py文件

    from django.db import models
    
    # Create your models here.
    from django.contrib.auth.models import User
    from django.utils import timezone
    class BlogArticles(models.Model): #注意基类
        '''
            标题,内容,作者,发布时间
        '''
        title = models.CharField(max_length=300)
        content = models.TextField()
        author = models.ForeignKey(User, "unknow", related_name="blog_posts")
        publish = models.DateTimeField(default=timezone.now)
    
        class Meta:
            ordering = ("-publish",)
    
        def str(self):
            return self.title

    2. 根据数据模型建立数据库表

      在/xbqr/manage.py执行python manage.py makemigrations

      

      这样会在D:Pystuxbqrlogmigrations目录下生成0001_initial.py文件

    # Generated by Django 2.0.3 on 2018-03-25 06:47
    
    from django.conf import settings
    from django.db import migrations, models
    import django.utils.timezone
    
    
    class Migration(migrations.Migration):
    
        initial = True
    
        dependencies = [
            migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ]
    
        operations = [
            migrations.CreateModel(
                name='BlogArticles',
                fields=[
                    ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                    ('title', models.CharField(max_length=300)),
                    ('content', models.TextField()),
                    ('publish', models.DateTimeField(default=django.utils.timezone.now)),
                    ('author', models.ForeignKey(on_delete='unknow', related_name='blog_posts', to=settings.AUTH_USER_MODEL)),
                ],
                options={
                    'ordering': ('-publish',),
                },
            ),
        ]
    View Code

      如果对上述代码的含义不是很清楚,可以用python manage.py sqlmigrate blog 0001查看

      

    3. 创建数据库  

      上面创建了一个能够建立数据库表的文件,下面在此基础上真正创建数据库

      python manage.py migrate

      

      可以查看db.sqlite3数据库文件

      如何查看可以参考博客:Python之sqlite3

    4. 发布博客文章

      先用最简单的方式实现博客文章的发布,使用django默认的管理功能就可以发布文章,要使用此功能,必须先创建超级管理员

      python manage.py createsuperuser

      

      在服务器运行的情况下

      

      打开浏览器输入http://127.0.0.1:8000/admin进入网页

      

      登录后会看到Groups和Users两项,却找不到发布文章的地方

      找到/blog/admin/py文件,添加代码

    from django.contrib import admin
    
    from .models import BlogArticles
    # Register your models here.
    admin.site.register(BlogArticles)

      这下我们就看到发布博客的地方

      

      点击add,添加博客

      下篇博客继续讲解如何显示博客文章标题和文章内容!

      django初探-创建简单的博客系统(二)

      

  • 相关阅读:
    python-学习 补充模块;面向对象程序设计
    python学习- 常用模块与re正则
    python-学习 协程函数 模块与包
    python-学习 初级atm小脚本、函数嵌套、装饰器、生成器、迭代器、三元表达式
    模拟登陆古诗文网
    正则表达式(括号)、[中括号]、{大括号}的区别
    MongoDB的基本操作
    语音合成以及语音识别
    flask中的CBV,flash,Flask-Session,WTForms
    Flask基础2 蓝图,实例化配置,app对象配置,特殊装饰器
  • 原文地址:https://www.cnblogs.com/xiaobingqianrui/p/8644112.html
Copyright © 2020-2023  润新知