1执行命令创建项目
1.1、创建项目
在windows cmd 下面执行命令,命令在D盘根目录中创建一个 myDjango项目。django-admin将为项目创建一个名为myDjango文件夹,并在其中创建项目的其他文件。
1.2、了解项目组成
(1)根文件夹myDjango:根文件夹是项目容器,项目内所有容器均放在该文件夹中。
(2)子文件夹myDjango:主要包括项目的4个配置文件。它是一个纯的Python包,可引用其他内部的任何内容,例如myDjango.urls表示引用其中的urls.py
myDjango\_init_.py:一个空文件,告诉Python该目录是一个Python包
myDjango\settings.py:Django项目的配置文件
myDjango\urls.py:Django项目的URL配置文件,包括访问视图的URL规则
myDjango\wsgi.py:项目运行于Web服务器的入口,无法修改。WSGI是Python Web Server Gateway Interface 的缩写,即Python Web 服务器网关接口。运行Python Web项目的Web服务器应兼容WSGI。
(3)manage.py:项目的命令行工具,用于执行项目的各种管理操作,如创建应用、执行数据库迁移、启动开发服务器等。
1.3、运行开发服务器
Django项目创建完成后,可运行Django提供的开发服务器来测试项目是否创建成功。
在Windows的cmd 执行下面命令
python manage.py runserver
开发服务器为项目设置的默认访问URL为: http://127.0.0.1:8000/
按【Ctrl+C】组合键终止服务器运行。开发服务器成功启动后,在浏览器访问http://127.0.0.1:8000,显示项目默认首页,如下图,则说明也成功创建了Django项目
2.1、关于diango-admin 和 manage.py
diango-admin是Django提供的命令行工具,用于创建项目、创建应用、执行迁移数据库等各种与项目有关的操作。
manage.py是Django在创建项目时自动为项目创建的文件,作用与diango-admin相同
两者区别:django-admin可在系统任意文件夹中使用,它使用Django的全局设置;mange.py只能在项目根文件夹中使用,它使用项目settings.py 文件中的设置。
(1)django-admin与mange.py最大的不同在于mange.py将DJANGO_SETTINGS_MODULE 将环境变量设置成当前项目的配置模块,如myDjango.settings——即项目的setting.py文件
(2)django-admin和mange.py都是调用django.core.management模块中的execute_from_command_line()函数来执行命令。
(3)django-admin和mange.py的命令格式如下
django-admin <command> [options]
python -m django <command> [options]
python mange.py <command> [options]
其中,command为子命令 ,options 为命令选项。
3、添加应用
3.1、创建应用
为项目添加一个名为first的应用
first应用中的文件夹和文件作用如下:
(1)子文件夹migrations: 包含于数据可迁移有关的文件
(2)_init_.py:python包含的初始化文件
(3)admin.py:与后台管理系统有关的配置文件
(4)apps.py:应用的配置文件
(5)models.py:应用的模型文件
(6)test.py:应用的测试文件
(7)views.py:应用的视图文件
3.2、创建视图
在myDjango\first\views.py 中定义一个名为index的视图函数
from django.http import HttpResponse
def index(request):
return HttpResponse("hello,xiaolei")
index视图函数会在浏览器中显示一个字符串。要查看index视图函数的显示效果,还需要配置项目的URL。
3.3、配置项目URL
在myDjango\myDjango\urls.py 中,添加URL配置,以访问应用fisrt中的index视图函数
from django.contrib import admin
from django.urls import path
from first import views
urlpatterns = [
path('first/', views.index),
path('admin/', admin.site.urls),
]
当URL路径为"first/"时,访问应用first中的视图函数index,其完整访问路径为 http://127.0.0.1:8000/first
path('admin/', admin.site.urls) 是Django默认添加的用于访问Django提供的admin站点的URL配置。
3.4、测试运行效果
在启动开发服务器后,在浏览器中访问 http://127.0.0.1:8000 效果如下图。
因访问的URL只提供了IP地址和端口,没有指定具体的路径。而在上面的urls.py文件中,由于只配置了“first/”和“admin/” 作为访问路径,Django无法找到空路径匹配的URL配置,所以报错。
将前面的urls.py 中的“first/”修改为“‘’”,即
path('',views.index),
保存文件后,刷新浏览器。此时的URL为http://127.0.0.1:8000,没有路径,所以Django调用views.index 函数,页面中的输出结果如下图
将urls.py “‘’” 改回 “‘first/’”, 在浏览器中访问http://127.0.0.1:8000, 页面输出如下图。
图1和图2区别只是浏览器地址栏中的URL不同,企鹅绵中都是同一个index函数的输出结果。