Loading... 从OneDrive里翻出来的草稿,发现完成度还挺高的,修改一下就先发出来了。 初始编辑:2021/01/29 --> 初步完稿:2022/2/16 之前草稿里的插入的图片甚至因为经历了一次图床删库事件...... ~~(我真不是鸽子王~~ 当初写这篇教程是因为正在开发我的第一个Django项目,也是我的第一个开源项目[任务管理工具](https://github.com/raiots/TasksManager),欢迎来Star! ## 初始化一个完美的Django环境 ### 笔者的 * 平台:Windows 10 20H2 * 版本:Python 3.7.9 * 框架:Django 3.1 * IDE:PyCharm 20.3 ### PyCharm创建Django项目 #### 为什么选择PyCharm PyCharm会为你提供一个 * 快速配置的虚拟环境 * 便捷的包管理系统 * 自动代码提示(在前端抄css的时候超管用!) #### 创建PyCharm项目 安装后开启 PyCharm Professional 版本,在下图界面中选择右上角的 New Project:  进入下图界面,点击左侧边栏中的Django选项卡,进入Django项目配置。 其中,一般需要修改的是两个字段: * Location字段代表项目存储位置 * Base interpreter字段你需要选择安装在你电脑上的python解释器。  单击create后,PyCharm会自动创建出一个Django项目环境。 ### 配置Django项目设置 #### 1. 配置静态文件 在项目根目录右键新建文件夹static,用于存放项目的静态文件(JavaScript,CSS......) 并在settings.py 中添加如下: ```python STATIC_URL = '/static/' STATICFILES_DIRS = [ BASE_DIR / 'static', ] ``` ##### tips.为什么需要专门设置文件夹放置静态文件: 几乎每一个网页都会需要图片、JavaScript等额外文件,一般来说仅需要提供该文件的原始地址,但在django编写过程中,必须将所有静态文件交给Django管理,所以,我们需要指定一个目录来告诉Django静态文件会被存放在什么地方。 在开发过程中,仅需在模板文件头部用static模板标签帮助Django构建URL。 官网给出的例子如下: ```html {% load static %} <img src="{% static 'my_app/example.jpg' %}" alt="My image"style=""> ``` 更多配置方式,详见[管理静态文件(比如图片、JavaScript、CSS)](https://docs.djangoproject.com/zh-hans/3.1/howto/static-files/) #### 2. 创建应用(app) Django可以将网站核心功能以应用程序的形式分开编写,在规划应用的过程中,要以宜少不宜多的原则。 本项目由两个模块组成,包括作为核心的任务管理模块以及用户管理模块。 我习惯将所有的应用都放在一个文件夹里,这样可以获得一个更清晰的项目结构,因此我们首先在项目根目录下新建apps文件夹用于存放应用。 随后,在PyCharm底栏的Terminal界面,使用cd命令进入apps文件夹,运行 ```shell python ../manage.py startapp tasks python ../manage.py startapp users ```  最后将创建的应用添加到settings.py的INSTALLED_APPS中 ```python INSTALLED_APPS = [ # ...... 'apps.users', 'apps.tasks', ] ``` 并修改`apps/users/apps.py`及`apps/tasks/apps.py`文件中的`name = 'users'`及`name = 'users'`分别修改为`name = 'apps.users'`和`name = 'apps.users'`。 <font color=red>Tips.</font>之后每次进行增加应用的操作都需要进行如上修改。 #### 3. 更换默认的Django后台主题 Django Admin 是一个非常有用的管理工具,通过admin后台页面,可以较为便捷的对数据库进行增查删改操作,虽然有其局限性,但对于开发简单应用而言,掌握了Django Admin的使用方法可以大大提高开发速度! 然而,Django Admin默认界面设计语言存在着的一些不足,比如色彩单一,大量线条的使用,分割化明显[<sup>1</sup>](#refer-anchor-1)。 这里我们选用国人开发的[Simpleui](https://github.com/newpanjing/simpleui)主题来美化后台界面,具体教程请参考[Simpleui的快速使用教程](https://github.com/newpanjing/simpleui#%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8) ### 参考 \- [1] https://github.com/newpanjing/simpleui ### 附录:一些用Django开发的开源项目 [ArchiveBox](https://github.com/ArchiveBox/ArchiveBox)——一个自建的网站存档工具 [Django-School-Management-System](https://github.com/adigunsherif/Django-School-Management-System)——一个学校管理系统?参考过他的模型写法。 [Django-ERP](https://github.com/zhuinfo/Django-ERP)——因为想研究怎样在Django中实现工作流 [TasksManager](https://github.com/raiots/TasksManager)——一个实现任务分发和工作量考核的任务管理工具 Last modification:July 9, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 1 原创不易,请我杯奶茶吧~
3 comments
博客内容完全看不懂,逛起来好有压力ヾ(≧∇≦*)ゝ
您好博主,由于loli域名已经出售,「城南旧事」博客网站链接申请更换链接为 www.pho.ink
十分感谢长久以来的支持哦~
好域名,已修改~