开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
3 Star 3 Fork 1.3K

程序源代码/MrDoc

forked from 州的先生/MrDoc
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (3)
标签 (28)
master
feature/pep8
develop
v0.5.5
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.2
v0.4.1
v0.4
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.12
v0.2.11
v0.2.10
v0.2.9
v0.2.8
v0.2.7
master
分支 (3)
标签 (28)
master
feature/pep8
develop
v0.5.5
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.2
v0.4.1
v0.4
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.12
v0.2.11
v0.2.10
v0.2.9
v0.2.8
v0.2.7
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (3)
标签 (28)
master
feature/pep8
develop
v0.5.5
v0.5.4
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.2
v0.4.1
v0.4
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.12
v0.2.11
v0.2.10
v0.2.9
v0.2.8
v0.2.7
MrDoc
/
app_doc
/
models.py
MrDoc
/
app_doc
/
models.py
models.py 7.05 KB
一键复制 编辑 原始数据 按行查看 历史
州的先生 提交于 2020年06月21日 21:44 +08:00 . v0.5.4 详见更新日志
from django.db import models
from django.contrib.auth.models import User
# 文集模型
class Project(models.Model):
name = models.CharField(verbose_name="文档名称",max_length=50)
intro = models.TextField(verbose_name="介绍")
# 文集权限说明:0表示公开,1表示私密,2表示指定用户可见,3表示访问码可见 默认公开
role = models.IntegerField(choices=((0,0),(1,1),(2,2),(3,3)), default=0,verbose_name="文集权限")
role_value = models.TextField(verbose_name="文集权限值",blank=True,null=True)
create_user = models.ForeignKey(User,on_delete=models.CASCADE)
create_time = models.DateTimeField(auto_now_add=True)
modify_time = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
class Meta:
verbose_name = '文集'
verbose_name_plural = verbose_name
def get_absolute_url(self):
from django.urls import reverse
return reverse("pro_index",
kwargs={
"pro_id":self.pk}
)
# 文集协作模型
class ProjectCollaborator(models.Model):
project = models.ForeignKey(Project,on_delete=models.CASCADE) # 文集
user = models.ForeignKey(User,on_delete=models.CASCADE) # 用户
# 用户的协作模式:0表示可新建文档,可修改、删除自己新建的文档,1表示可新建文档,可删除自己创建的文档、可修改所有文档
role = models.IntegerField(choices=((0,0),(1,1)),default=0,verbose_name='协作模式')
create_time = models.DateTimeField(auto_now=True,verbose_name='添加时间')
modify_time = models.DateTimeField(auto_now_add=True,verbose_name='修改时间')
def __str__(self):
return self.project
class Meta:
verbose_name = '文集协作'
verbose_name_plural = verbose_name
# 文档模型
class Doc(models.Model):
name = models.CharField(verbose_name="文档标题",max_length=50)
pre_content = models.TextField(verbose_name="编辑内容",null=True,blank=True)
content = models.TextField(verbose_name="文档内容",null=True,blank=True)
parent_doc = models.IntegerField(default=0,verbose_name="上级文档")
top_doc = models.IntegerField(default=0,verbose_name="所属项目")
sort = models.IntegerField(verbose_name='排序',default=99)
create_user = models.ForeignKey(User,on_delete=models.CASCADE)
create_time = models.DateTimeField(auto_now_add=True)
modify_time = models.DateTimeField(auto_now=True)
# 文档状态说明:0表示草稿状态,1表示发布状态,2表示删除状态
status = models.IntegerField(choices=((0,0),(1,1)),default=1,verbose_name='文档状态')
def __str__(self):
return self.name
class Meta:
verbose_name = '文档'
verbose_name_plural = verbose_name
indexes = [
models.Index(fields=['top_doc','parent_doc','status']),
models.Index(fields=['sort']),
]
# ordering = ['-create_time','sort']
def get_absolute_url(self):
from django.urls import reverse
return reverse("doc",
kwargs={
"pro_id": str(self.top_doc),
"doc_id":self.pk}
)
# 文档历史模型
class DocHistory(models.Model):
doc = models.ForeignKey(Doc,on_delete=models.CASCADE)
pre_content = models.TextField(verbose_name='文档历史编辑内容',null=True,blank=True)
create_user = models.ForeignKey(User,on_delete=models.SET_NULL,null=True)
create_time = models.DateTimeField(auto_now=True)
def __str__(self):
return self.doc
class Meta:
verbose_name = '文档历史'
verbose_name_plural = verbose_name
# 文档模板模型
class DocTemp(models.Model):
name = models.CharField(verbose_name="模板名称",max_length=50)
content = models.TextField(verbose_name="文档模板")
create_user = models.ForeignKey(User,on_delete=models.CASCADE)
create_time = models.DateTimeField(auto_now_add=True)
modify_time = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
class Meta:
verbose_name = '文档模板'
verbose_name_plural = verbose_name
# 文集导出模型
class ProjectReport(models.Model):
project = models.OneToOneField(Project,unique=True,on_delete=models.CASCADE)
# 允许导出,默认为0-允许,1-不允许
allow_epub = models.IntegerField(default=0,verbose_name="前台导出EPUB")
allow_pdf = models.IntegerField(default=0, verbose_name="前台导出PDF")
def __str__(self):
return self.project.name
class Meta:
verbose_name = '文集导出'
verbose_name_plural = verbose_name
# 文集导出文集模型
class ProjectReportFile(models.Model):
project = models.ForeignKey(Project, on_delete=models.CASCADE) # 外键关联文集
file_type = models.CharField(choices=(('epub', 'epub'), ('pdf', 'pdf'), ('docx', 'docx')), verbose_name='文件类型',max_length=10)
file_name = models.CharField(max_length=100, verbose_name='文件名称')
file_path = models.CharField(max_length=250, verbose_name='文件路径')
create_time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.file_name
class Meta:
verbose_name = '附件管理'
verbose_name_plural = verbose_name
# 图片分组模型
class ImageGroup(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
group_name = models.CharField(verbose_name="图片分组",max_length=50,default="默认分组")
def __str__(self):
return self.group_name
class Meta:
verbose_name = '图片分组'
verbose_name_plural = verbose_name
# 图片模型
class Image(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
file_path = models.CharField(verbose_name="图片路径",max_length=250)
file_name = models.CharField(verbose_name="图片名称",max_length=250,null=True,blank=True)
group = models.ForeignKey(ImageGroup,on_delete=models.SET_NULL,null=True,verbose_name="图片分组")
remark = models.CharField(verbose_name="图片备注",null=True,blank=True,max_length=250,default="图片描述")
create_time = models.DateTimeField(verbose_name='创建时间',auto_now_add=True)
modify_time = models.DateTimeField(verbose_name='修改时间',auto_now=True)
class Meta:
verbose_name = '素材图片'
verbose_name_plural = verbose_name
# 附件模型
class Attachment(models.Model):
file_name = models.CharField(max_length=200,verbose_name="附件名",default='mrdoc_附件.zip')
file_size = models.CharField(max_length=100,verbose_name="附件大小",blank=True,null=True)
file_path = models.FileField(upload_to='attachment/%Y/%m/',verbose_name='附件')
user = models.ForeignKey(User,on_delete=models.CASCADE,)
create_time = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.file_name
class Meta:
verbose_name = '附件管理'
verbose_name_plural = verbose_name
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

基于Python开发的Markdown在线文档系统,适合用作文档、笔记和知识管理工具
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/itcode-itcode/MrDoc.git
git@gitee.com:itcode-itcode/MrDoc.git
itcode-itcode
MrDoc
MrDoc
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /