2、Django入门介绍
1、在windows下清屏命令:cls
2、在windows的文件路径界面直接输入:cmd命令,就可以进入命令行窗口
3、开始项目(除了virtual与virtualenvwrapper,另一种原始的创建项目的方法):
- django-admin
- django-admin startproject myblog
- cd myblog
- python manage.py runserver #启动本地服务器
4、各个文件夹的详解:
1)
- manage.py #与项目进行交互的命令行工具集的入口
-
python manage.py runserver # 启动
2)项目目录(与项目同名):项目的容器,包含项目最基本的一些配置
- WSGI:Python应用与Web服务器之间的接口(Python web Server GateWay Interface )
3)settings.py
- BASE_DIR #项目的根目录
-
SECRET_KEY
-
INSTALLED_APPS
5、创建应用(不是通过virtualenv 创建的python应用,不能通过Tools来创建命令)
- cd myblog:
- python manage.py startapp blog
- 将新创建的应用添加到settings.py文件里,即在INSTALLED_APPS里,即blog
6、新创建的应用blog各个文件夹详解
- migrations:数据移植(迁移)模块
- admin.py:该应用的后台管理系统配置
- apps.py :应用的配置
- models.py:数据模块,ORM框架
- tests.py:自动化测试模块,Django提供了自动化测试模块
- views.py:执行相应的代码所在模块,代码逻辑处理的主要地点,项目中的大部分代码都在这里书写
7、在app的views下面编写代码:每个相应对应一个函数,函数必须返回一个相应;函数必须接受一个参数,一般为request;每个相应函数对应一个url
>>>from django.http import HttpResponse
>>>def index(request):
return HttpResponse("Hello,World")
8、配置url:第一行将blog.view引进来 方便引进view中的函数index(它是一个URL和这个URL将调用的view function之间的映射关系。 通过这种方式,你就可以告诉Django:“对于这个URL,调用这段代码,对于那个URL,调用那段代码。”)
import blog.views as bv
9、总结:Django常用命令
二、新建一个 Django Project
这个命令我们在第一章中已经使用,可以翻看之前 HelloWorld 项目建立来实践:
$ django-admin.py startproject project-name
注意,在 Windows 系统下,如果报错,尝试用 django-admin 代替 django-admin.py。
在输入完该条指令后,系统会在当前目录增加一个项目名目录,并且其中存有最基础的 Django 项目文件。
三、新建 app
同样,在第一章中已经使用,可以翻看之前建立 Hello app 的操作流程来实践:
$ python3 manage.py startapp app-name
令有一种写法:
$ django-admin.py startapp app-name
一般一个项目会存有多个 app ,当然通用的 app 也可以在多个 Django 项目中通用这个 app。
四、同步数据库
$ python manage.py makemigrations
$ python manage.py migrate
这种方法可以创建表,当你在 models.py 中新增类时,运行它就可以自动在数据库中创建表,不用手动创建。
备注:对已有的 models 进行修改,Django 1.7 之前的版本是无法自动修改数据库表结构的,不过有第三方的 south 工具可以使用。
五、使用开发服务器
开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
# 默认情况下在 0.0.0.0:8080 启动
$ python manage.py runserver
# 当提示端口被占用的时候,可以用其他端口
六、清空数据库 *
$ python manage.py flush
此命令会询问是 yes 还是 no,选择 yes 会把数据库全部清空掉,只留下空表。
七、创建超级管理员 *
$ python manage.py createsuperuser
# 按照提示输入用户名和对应的密码可以,邮箱可以留空,用户名和密码必填
# 修改用户密码可以使用以下命令