Django初学总结(二)

Django基础

开发模式:

Django有两种模式,一种是“开发模式”,另一种是“生产模式”。如果系统处在开发模式,许多配置都是为开发而定,在该模式下,不需要配置服务器也能运行网站,因为Django本身就提供了简单的Web服务器功能。而如果正式部署,即转换为“生产模式”后就需要对部分配置进行修改。
在开发模式中,Django会自动检测到修改的代码并重新加载,不需要每次修改代码后重新启动Web服务器。但是在新增加文件之后,需要重新启动Django服务器。

项目和应用的创建:

项目的创建:django-admin startproject 项目名;
应用的创建:django-admin startapp 应用名。应用创建了之后就要在settings.py中的ISTALLED_APPS里进行声明。


用Django编写blog

设计数据库和表结构是做网站的基础,因为Python和Django能够直接完成这些操作,所以可以不需要设置先。
创建应用后,利用Django开发网站系统要写在./blog/models.py中写一个类,这个类与数据库中的数据表具有对应关系。
一下为编写blog的数据模型类,本质上是一个继承了django.db.models.Model的类

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class BlogArticles(models.Model):
    title = models.CharField(max_length=300)
    author = models.ForeignKey(User, related_name="blog_posts", on_delete=models.CASCADE) #比书上增加了个on_delete,
    body = models.TextField()
    publish = models.DateTimeField(default=timezone.now)

    class Meta:
        ordering = ("-publish",) //规定了BlogArticles的实例对象的显示顺序,即按照publish字段值的倒序显示

    def __str__(self):
        return self.title

在/mysite/manage.py位置执行python manage.py makemigrations
便会在blog/migrations目录中创建了一个BlogArticles模型。以上创建了一个能够建立数据库表的文件,然后就执行

python manage.py migrate 

如此就创建了数据库。


发布博客文章

python manage.py createsuperuser

执行上面命令后就可以自己创建一个超级管理员。
用浏览器输入 http://地址/admin/ 便可以进入界面。但此时只有Django默认的Groups和Users的功能。然后下一步为该用户配置发布blog的功能。
进入./blog/admin.py

from django.contrib import admin
from .models import BlogArticles //将BlogArticles类引入当前环境

admin.site.register(BlogArticles, BlogArticlesAdmin) //将该类注册到admin中

为了使得显示更加丰富可以继续在./blog/admin.py中写入。

class BlogArticlesAdmin(admin.ModelAdmin):
    list_display = ("title", "author", "publish")
    list_filter =  ("publish", "author")
    search_fields = ('title', "body")
    raw_id_fields = ("author",)
    date_hierarchy = "publish"
    ordering = ['publish', 'author']
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值