BLOG

个人博客,记录学习与生活

Django建立和运行

Published Feb. 17, 2020, 9:36 p.m. by kkk

创建

# 在要创建项目的目录下
django-admin startproject mysite
python manage.py startapp app_name
# or
django-admin startapp app_name

管理员账户数据(需要在数据迁移之后

python manage.py createsuperuser

清空所有数据库

python manage.py flush

The development server automatically reloads Python code for each request as needed. You don’t need to restart the server for code changes to take effect. However, some actions like adding files don’t trigger a restart, so you’ll have to restart the server in these cases.

服务器运行

首先激活该虚拟环境,然后在项目根路径下,运行python manage.py runserver

默认为8000端口,如要切换其它端口如8001端口,直接在后面加上即可:python manage.py runserver 8001

利用IDE

在IDE中——Pycharm,创建Django项目后,直接点运行就会运行服务器,数据库、应用创建等工作可以在Django的Terminal中进行,优势是已经位于项目根目录,节省切换目录时间

更改模型的三步

  1. 在所属应用的models.py中进行更改操作
  2. 运行python manage.py makemigrations,用于创建更改操作的migrations(类似于git操作中的add
  3. 运行python manage.py migrate,用于提交所有变更到数据库(相当于git的commit操作)

Whenever you create a form that alters data server-side, use method="post". This tip isn't specific to Django; it's good Web development practice in general.

As the Python comment above points out, you should always return an HttpResponseRedirect after successfully dealing with POST data. This tip isn't specific to Django; it's good Web development practice in general.

Shell调式

python manage.py shell

通过运行上面指令,可进入项目的shell中,通过导入项目的models.py文件或其它,进行数据查询、逻辑调试等操作。

静态文件生成

python manage.py collectstatic

项目部署时,当设置DEBUG=FALSE之后关闭Django的静态文件管理功能,之后需要Nginx或者Apache服务器来寻找静态文件,在项目的settings文件中指定STATIC_ROOT参数和取值后,运行上述指令会将静态文件生成到STATIC_ROOT对应的路径之下。

关于测试

"Code without tests is broken by design."

测试就是假装一些管理员的输入,然后通过用户端的表现是否符合预期来判断新加入的改变是否破坏了原有的系统状态。

如果你对测试有个整体规划,那么它们就几乎不会变得混乱。下面有几条好的建议:

  • 对于每个模型和视图都建立单独的 TestClass
  • 每个测试方法只测试一个功能
  • 给每个测试方法起个能描述其功能的名字

Share this post
< Pre: 神经网络和误差反向传播算法 Pos: 装饰器、函数及类的调用 >
2 comments
Similar posts
Add a new comment