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的数据库文件
**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地址:端口
------方法2:在manage.py下执行命令 python manage.py runserver ip地址:端口(默认为127.0.0.1:8000)
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
……省略部分……
关键在于两步:视图和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')),
...
]"""