93人参与 • 2025-07-28 • Pycharm
实现创建文件时自动添加自定义模板


在 file and code templates 界面:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @time : ${date} ${time}
# @author : ${user}
# @file : ${name}.py
# @software: ${product_name}
"""
${description}
"""
import os
import sys
def main():
pass
if __name__ == '__main__':
main()

| 变量 | 描述 | 示例 |
|---|---|---|
| ${date} | 当前日期 | 2023-07-26 |
| ${time} | 当前时间 | 14:30 |
| ${user} | 系统用户名 | john |
| ${name} | 文件名(不含扩展名) | my_script |
| ${product_name} | pycharm 产品名 | pycharm |
| ${year} | 当前年份 | 2023 |
| ${month} | 当前月份 | 07 |
| ${day} | 当前日期 | 26 |
| ${hour} | 当前小时 | 14 |
| ${minute} | 当前分钟 | 30 |
# ${name}.py
from django.db import models
class ${modelname}(models.model):
"""${description}"""
# 字段定义
created_at = models.datetimefield(auto_now_add=true, verbose_name='创建时间')
updated_at = models.datetimefield(auto_now=true, verbose_name='更新时间')
class meta:
verbose_name = '${verbosename}'
verbose_name_plural = '${verbosenameplural}'
ordering = ['-created_at']
def __str__(self):
return f"{self.id}"
# 以下为自动生成的代码




# file header.py """ test includes """

# python script
#parse("file header.py")
import os
import sys
def main():
pass
if __name__ == '__main__':
main()

#if (${name} == "models")
from django.db import models
#else
import os
import sys
#end
#set($modelname = ${name.substring(0,1).touppercase()} + ${name.substring(1)})
class ${modelname}(models.model):
pass
#parse("file header.py")
from django.views import view
from django.http import jsonresponse
class ${classname}(view):
"""${description}"""
def get(self, request, *args, **kwargs):
return jsonresponse({'status': 'ok'})
def post(self, request, *args, **kwargs):
return jsonresponse({'status': 'created'}, status=201)
#parse("file header.py")
from django import forms
class ${formname}(forms.form):
"""${description}"""
# 字段示例
name = forms.charfield(
max_length=100,
label='名称',
widget=forms.textinput(attrs={'class': 'form-control'})
)
def clean_name(self):
# 自定义验证
name = self.cleaned_data['name']
if len(name) < 3:
raise forms.validationerror("名称太短")
return name
#parse("file header.py")
from django.contrib import admin
from .models import ${modelname}
@admin.register(${modelname})
class ${modelname}admin(admin.modeladmin):
"""${description}"""
list_display = ('id', 'created_at')
list_filter = ('created_at',)
search_fields = ('id',)
date_hierarchy = 'created_at'
fieldsets = (
(none, {
'fields': ('created_at', 'updated_at')
}),
)
# 创建 django 模型字段模板 # abbreviation: df # description: django field # template text: $field_name$ = models.$field_type$($params$)
打开 settings > editor > live templates
创建 python 组
添加新模板:
dfdjango field${field_name} = models.${field_type}(${params})
定义变量:
suggestvariablename()complete()defaultvalue("")

# 模板文件位置 ~/.config/jetbrains/pycharm2023.1/templates
| 变量 | 描述 | 示例 |
|---|---|---|
| ${name} | 文件名(不含扩展名) | my_view |
| ${package_name} | 包名 | myapp.views |
| ${project_name} | 项目名 | mydjangoproject |
| ${user} | 当前用户 | john |
| ${date} | 当前日期 | 2023-07-26 |
| ${time} | 当前时间 | 14:30 |
| ${year} | 当前年份 | 2023 |
| ${month} | 当前月份 | 07 |
| ${day} | 当前日期 | 26 |
| ${hour} | 当前小时 | 14 |
| ${minute} | 当前分钟 | 30 |
| ${second} | 当前秒数 | 45 |
| ${product_name} | ide 名称 | pycharm |
| ${month_name_full} | 月份全名 | july |
| ${month_name_short} | 月份缩写 | jul |
| ${ds} | 美元符号 | $ |
# 文件头
#parse("file header.py")
# 导入区
import os
import sys
# 主逻辑
def main():
pass
# 执行入口
if __name__ == '__main__':
main()
#if (${package_name} == "models")
from django.db import models
#elseif (${package_name} == "views")
from django.views import view
#end
${var}# 在特定目录创建模板 # 右键目录 > new > edit file templates
配置 pycharm 文件模板的完整流程:
file > settings > editor > file and code templates高级技巧:
#parse 指令组合模板#if 实现条件模板#set 定义自定义变量通过合理配置模板,您可以:
以上就是pycharm文件模板配置的完整指南的详细内容,更多关于pycharm文件模板配置的资料请关注代码网其它相关文章!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论