Django学习2-创建项目

创建第一个项目 实现HelloWorld

1,安装好Django;
2、在安装好环境的目录下执行命令 django-admin startproject 项目名
|—mysite # 项目的/目录
|—mysite # 项目目录
|—__init__.py
|—settings.py ------# 配置文件
|—urls.py ------# 路由系统 ===> url与视图的对应关系
|—asgi.py------#一个ASGI兼容的Web服务器的入口,以便运行你的项目
|—wsgi.py ------# 一个WSGI兼容的Web服务器的入口,以便运行你的项目,runserver命令就使用wsgiref模块做简单的web server
|—manage.py ------# 管理文件
|—db.sqlite3------#基于sql的数据库文件
Django学习2-创建项目_第1张图片
**3、创建应用 **
------在manage.py目录下 执行命令 python manage.py startapp 应用名
------创建后要在setting.py内的 INSTALLED_APPS中添加创建的应用名(此步目的在于将应用注册合法)

应用的目录结构
admin.py :管理站点模型的声明文件,默认为空。
apps.py  :应用信息定义文件。在其中生成了类Appconfig,类用于定义应用名等Meta数据。
migrations  :  用于在之后定义引用迁移功能。
models.py   :  添加模型层数据类的文件。
test.py     :测试代码文件。
views.py    :定义URL响应函数。

4.启动项目
------方法1:修改manage.py的运行参数,在parameters中添加 runserver ip地址:端口
Django学习2-创建项目_第2张图片
Django学习2-创建项目_第3张图片
------方法2:在manage.py下执行命令 python manage.py runserver ip地址:端口(默认为127.0.0.1:8000)

成功的结果:
Django学习2-创建项目_第4张图片

Django 管理工具

django-admin的命令

$ django-admin.py

Type 'django-admin help ' for help on a specific subcommand.

Available subcommands:

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp--创建应用
    startproject--创建项目
    test
    testserver
……省略部分……

制作Hello World!

关键在于两步:视图和URL的配置
视图配置:
可在url文件同级目录下添加views文件,或直接使用生成的应用目录下的views文件
views.py内添加代码

from django。http import HttpResponse
def hello(request):
	return HttpResponse("Hello World!")

URL配置:
有两种方式,1、使用path函数,2、使用url函数

'1、url'
from django.conf.urls import url
from app01 import views #此处不能添加两点,涉及一个相对路径的问题
urlpatterns=[
	url(r'^$',views.hello)#使用正则表达式进行查找
]
'2、path'
from django.urls import url
from app01 import views #此处不能添加两点,涉及一个相对路径的问题
urlpatterns=[
	path('hello/',views.hello)#使用正则表达式进行查找
]

补充

path()函数
		path(route,view,kwargs=None,name=None)
		route:字符串,表示URL规则,与之匹配的URL会执行对应的第二个参数view(通过网页访问时的查询规则)
		r'^$'代表最初的页面
		view:用来执行与正则表达式匹配的URL请求
		kwargs:视图使用的字典类型的参数
		name:用来反向获取URL
"""
re_path()方法来兼容url()方法,一些正则表达式的规则可以通过re_path()实现
from django.urls import include, re_path
urlpatterns = [
    re_path(r'^index/$', views.index, name='index'),
    re_path(r'^bio/(?P\w+)/$', views.bio, name='bio'),
    re_path(r'^weblog/', include('blog.urls')),
    ...
]"""

你可能感兴趣的:(python,django)