美文网首页
Django-First Project, since 2022

Django-First Project, since 2022

作者: Mc杰夫 | 来源:发表于2022-01-03 21:32 被阅读0次

(2022.01.03 Sun)

创建第一个Django项目

注:django版本=4.0
在terminal输入django-admin可查看管理工具

$ django-admin

Type 'django-admin help <subcommand>' 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

创建一个项目的指令,项目名比如djangoDebut

$ django-admin startproject djangoDebut

此时会生成一个文件夹djangoDebut,进入该文件夹并查看文件夹结构

$ cd djangoDebut
$ tree
# in Mac OS, if no tree command, try this
$ find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

返回如下结果

.
|____djangoDebut
| |____asgi.py
| |______init__.py
| |____settings.py
| |____urls.py
| |____wsgi.py
|____manage.py

文件说明

  • djangoDebut: 项目文件夹,或容器
  • manage.py: 命令行工具,以各种方式与该 Django 项目进行交互。
  • djangoDebut/init.py: 空文件,指示Python该目录是一个Python包。
  • djangoDebut/asgi.py: ASGI兼容Web服务器的入口,以运行项目。
  • djangoDebut/settings.py: 该项目的设置。
  • djangoDebut/urls.py: 项目的 URL 声明,一份由 Django 驱动的网站"目录"。
  • djangoDebut/wsgi.py: WSGI 兼容的 Web 服务器的入口,以运行项目。

在当前目录,i.e., djangoDebut,执行如下语句,启动这个项目

$ python3 manage.py runserver 0.0.0.0:8000

其中的0.0.0.0让其他服务器也能连接本地服务器,8000端口如果不指定,则默认是8000
接下来在本地浏览器,输入localhost:8000,会看到djangoDebut项目的首页面。

djangoDebut/djangoDebut/目录下创建一个新文件views.py,写入如下代码

from django.http import HttpResponse
 
def hello(request):
    return HttpResponse("Hi! ")

在同路径下的urls.py文件中,填下如下代码,用以绑定URL和视图函数。注:不同的django版本略有差别,这里使用4.0版本

rom django.urls import path
from . import views
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/', views.hello), # 
    path('face/', views.face),
]

打开本地浏览器,输入localhost:8000/hello,返回的就是views.py文件中指定的返回内容Hi!

urls.py文件中的path函数,其语法格式如下

path(route, view, kwargs=None, name=None)

route: 字符串,URL规则,遇到与之匹配的URL会触发view参数
view: 用于执行与表达式相匹配的URL请求
kwargs: 可选参数,view使用的字典类型参数
name: 可选参数,反向获取URL

Reference

1 runoob点com

相关文章

网友评论

      本文标题:Django-First Project, since 2022

      本文链接:https://www.haomeiwen.com/subject/zdwxcrtx.html