在激活虚拟环境的情况下,执行如下命令新建项目:Windows系统
原文中:
(ll_env)learning_logs$ django-admin.py startproject learning_log
(ll_env)learning_logs$ dir
执行上述代码时无反应,系统没有创建manage.py,如此一来,后续工作就无法进行,查资料后,尝试去掉了 .py ,执行成功。
(ll_env)learning_logs$ django-admin startproject learning_log
(ll_env)learning_logs$ dir
核实Django是否正确地创建了项目。为此,执行命令runserver,如下:
(ll_env)learning_logs$ python manage.py runserver
(ll_env)learning_logs$ python manage.py startapp learning_logs
命令 startapp appname让Django建立创建应用程序所需的基础设施。其中创建了一个models.py的文件,我们将用它来定义要在应用程序中管理的数据。
在models.py中创建模型
from django.db import models
class Topic(models.Model):
"""A topic the user is learning about."""
text = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
#Django调用方法__str__()来显示模型的简单表示
def __str__(self):
"""Return a string representation of the model."""
return self.text
让Django修改(迁移)数据库,使其能够存储与我们定义的新模型相关联的数据
(ll_env)learning_logs$ python manage.py makemigirations learning_logs
应用这种迁移,让Django替我们修改数据库
(ll_env)learning_logs$ python manage.py migrate
每当需要修改程序管理的数据时,都采取如下三个步骤:修改models.py;对learning_logs调用makemigrations;让Django迁移项目。
添加模型之后,打开网页,并不现实新添加的模型,这时需要重启服务器,再打开网页。
使用Django创建网页的过程通常分为三个阶段:定义URL、编写视图和编写模板
每个URL都被映射到特定的视图——视图函数获取并处理网页所需的数据
#导入为了项目和管理网站URL的函数和模块
from django.conf.urls import include, url
from django.contrib import admin
#定义变量urlpatterns,包含项目中的应用程序的URL
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),#包含模块admin.site.urls,该模块定义了可在管理网站中请求的所有URL
url(r'', include('learning_logs.urls', namespace='learning_logs')), #这行代码包含实参namespace,让我们能够将learning_logs的URL同项目中的其它URL区分开来
]
数据库专家可专注于模型,程序员可专注于视图代码,Web设计人员可专注于模板。