提交 26447de0 编写于 作者: 东海ECS's avatar 东海ECS

Add File.

上级 ddfe1829
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="FacetManager">
<facet type="django" name="Django">
<configuration>
<option name="rootFolder" value="$MODULE_DIR$/personal_blog" />
<option name="settingsModule" value="personal_blog/settings.py" />
<option name="manageScript" value="manage.py" />
<option name="environment" value="&lt;map/&gt;" />
<option name="doNotUseTestRunner" value="false" />
<option name="trackFilePattern" value="" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.11 (venv)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_CONFIGURATION" value="Django" />
</component>
</module>
\ No newline at end of file
from django.contrib import admin
# Register your models here.
from django.apps import AppConfig
class ArticleConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'article'
# Generated by Django 4.1.7 on 2023-05-02 10:53
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
('author', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Article',
fields=[
('id', models.UUIDField(auto_created=True, default=uuid.uuid4, primary_key=True, serialize=False, verbose_name='文章编号')),
('title', models.CharField(max_length=100, verbose_name='文章标题')),
('content', models.TextField(verbose_name='文章内容')),
('pub_time', models.DateTimeField(verbose_name='发布时间')),
('read_count', models.IntegerField(default=0, verbose_name='阅读次数')),
('admired_count', models.IntegerField(default=0, verbose_name='点赞次数')),
('liked_count', models.IntegerField(default=0, verbose_name='喜欢次数')),
('collected_count', models.IntegerField(default=0, verbose_name='收藏次数')),
('commented_count', models.IntegerField(default=0, verbose_name='评论次数')),
('up_time', models.DateTimeField(auto_now=True, verbose_name='上次修改时间')),
('status', models.CharField(choices=[('0', '正常'), ('1', '删除')], default=0, max_length=3, verbose_name='当前状态')),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='author.author')),
],
options={
'ordering': ['-pub_time', 'id'],
},
),
]
# Generated by Django 4.1.7 on 2023-05-02 10:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('article', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='article',
name='pub_time',
field=models.DateTimeField(auto_now=True, verbose_name='发布时间'),
),
]
from django.db import models
from uuid import uuid4
# Create your models here.
class Article(models.Model):
"""
文章类型
"""
ARTICLE_STATUS = (
('0', '正常'),
('1', '删除')
)
id = models.UUIDField(verbose_name = '文章编号', auto_created = True,
default = uuid4, primary_key = True)
title = models.CharField(verbose_name = '文章标题', max_length = 100)
content = models.TextField(verbose_name = '文章内容')
pub_time = models.DateTimeField(verbose_name = '发布时间', auto_now = True)
read_count = models.IntegerField(verbose_name = '阅读次数', default = 0)
admired_count = models.IntegerField(verbose_name = '点赞次数', default = 0)
liked_count = models.IntegerField(verbose_name = '喜欢次数', default = 0)
collected_count = models.IntegerField(verbose_name = '收藏次数', default = 0)
commented_count = models.IntegerField(verbose_name = '评论次数', default = 0)
up_time = models.DateTimeField(verbose_name = '上次修改时间', auto_now = True)
status = models.CharField(verbose_name = '当前状态', choices = ARTICLE_STATUS,
default = 0, max_length = 3)
author = models.ForeignKey("author.Author", on_delete = models.CASCADE)
class Meta:
ordering = ['-pub_time', 'id']
def __str__(self):
return f'文章标题: {self.title}, 文章内容: {self.content}'
from django.test import TestCase
# Create your tests here.
from django.shortcuts import render
# Create your views here.
# Generated by Django 4.1.7 on 2023-05-02 10:08
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Author',
fields=[
('id', models.UUIDField(auto_created=True, default=uuid.uuid4, primary_key=True, serialize=False, verbose_name='作者编号')),
('username', models.CharField(db_index=True, max_length=50, unique=True, verbose_name='登录账号')),
('password', models.CharField(max_length=50, verbose_name='登录密码')),
('realname', models.CharField(blank=True, db_index=True, default='待完善', max_length=20, null=True, verbose_name='作者姓名')),
('nickname', models.CharField(blank=True, db_index=True, max_length=20, null=True, unique=True, verbose_name='作者昵称')),
('age', models.IntegerField(default=0, verbose_name='作者年龄')),
('gender', models.CharField(blank=True, choices=[('0', '女'), ('1', '男')], max_length=1, null=True, verbose_name='性别')),
('email', models.EmailField(blank=True, db_index=True, max_length=254, null=True, verbose_name='联系邮箱')),
('phone', models.CharField(blank=True, db_index=True, max_length=20, null=True, verbose_name='联系电话')),
('status', models.CharField(choices=[('0', '正常'), ('1', '锁定'), ('2', '删除')], help_text='必须选择其中一个状态', max_length=5, verbose_name='用户状态')),
('create_time', models.DateTimeField(auto_now=True, verbose_name='注册时间')),
('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('personal_page', models.URLField(blank=True, null=True, verbose_name='个人主页')),
('intro', models.TextField(blank=True, null=True, verbose_name='个人介绍')),
('remark', models.TextField(blank=True, null=True, verbose_name='备注信息')),
],
options={
'verbose_name_plural': '作者',
},
),
]
from django.db import models
from uuid import uuid4
from datetime import datetime
# Create your models here.
class Author(models.Model):
"""
用户类型: 博客作者
"""
GENDER = (
('0', '女'),
('1', '男'),
)
STATUS = (
('0', '正常'),
('1', '锁定'),
('2', '删除'),
)
id = models.UUIDField(primary_key = True, verbose_name = '作者编号',
auto_created = True, default = uuid4)
username = models.CharField(max_length = 50, verbose_name = '登录账号',
unique = True, db_index = True)
password = models.CharField(max_length = 50, verbose_name = '登录密码')
realname = models.CharField(max_length = 20, verbose_name = '作者姓名', default = '待完善',
null = True, blank = True, db_index = True)
nickname = models.CharField(max_length = 20, verbose_name = '作者昵称',
unique = True, null = True, blank = True, db_index = True)
age = models.IntegerField(default = 0, verbose_name = '作者年龄')
gender = models.CharField(max_length = 1, choices = GENDER, verbose_name = '性别',
null = True, blank = True)
email = models.EmailField(verbose_name = '联系邮箱', null = True,
blank = True, db_index = True)
phone = models.CharField(max_length = 20, verbose_name = '联系电话',
db_index = True, null = True, blank = True)
status = models.CharField(max_length = 5, choices = STATUS,
verbose_name = '用户状态', help_text = '必须选择其中一个状态')
create_time = models.DateTimeField(auto_now = True, verbose_name = '注册时间')
update_time = models.DateTimeField(auto_now = True, verbose_name = '修改时间')
personal_page = models.URLField(verbose_name = '个人主页', null = True, blank = True)
intro = models.TextField(verbose_name = '个人介绍', null = True, blank = True)
remark = models.TextField(verbose_name = '备注信息', null = True, blank = True)
class Meta:
"""
后台管理系统中的名称
"""
verbose_name_plural = '作者'
def __str__(self):
return f'账号: {self.username}; 昵称: {self.nickname}; 姓名: {self.realname}'
......@@ -11,11 +11,12 @@ https://docs.djangoproject.com/en/4.1/ref/settings/
"""
from pathlib import Path
import pymysql
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/
......@@ -27,7 +28,6 @@ DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
......@@ -37,6 +37,8 @@ INSTALLED_APPS = [
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'author',
'article',
]
MIDDLEWARE = [
......@@ -69,18 +71,20 @@ TEMPLATES = [
WSGI_APPLICATION = 'personal_blog.wsgi.application'
# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
pymysql.install_as_MySQLdb()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
'ENGINE': 'django.db.backends.mysql',
'NAME': 'personal_blog', # 修改为自己的数据库名
'USER': 'root', # 修改为自己的USER
'PASSWORD': 'eastchinasea', # 修改为自己的PASSWORD
}
}
# Password validation
# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators
......@@ -99,18 +103,18 @@ AUTH_PASSWORD_VALIDATORS = [
},
]
# Internationalization
# https://docs.djangoproject.com/en/4.1/topics/i18n/
LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_TZ = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.1/howto/static-files/
......
# -*- coding:utf-8 -*-
# author:eastchinasea time:2023/5/2.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册