欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Django中manage文件和urls文件

程序员文章站 2022-05-19 10:01:53
...

1、django-admin 命令

  • 在命令提示符中输入django-admin 查看子命令

[django]
 check   # 校验项目完整性
 compilemessages
  createcachetable
 dbshell
 diffsettings
 dumpdata   # 把数据库数据导出到文件
 flush
 inspectdb
 loaddata   # 把文件数据导入到数据库
 makemessages
 makemigrations   # 创建模型变更的迁移文件
 migrate   # 执行makemigrations命令创建的迁移文件
 runserver   # 本地简易运行Django项目
 sendtestemail
 shell   # 进入Django项目的Python Shell 环境
 showmigrations
 sqlflush
 sqlmigrate
 sqlsequencereset
 squashmigrations
 startapp   # 创建一个Django应用
 startproject   # 创建一个Django项目
 test   # 执行Django用例测试
 testserver

2、manage.py文件

  • 在命令提示符中运行manger.py文件,查看子命令(进入项目目录,运行python manage.py

[auth]
 changepassword   # 修改密码
 createsuperuser   # 创建超级用户

[contenttypes]
 remove_stale_contenttypes

[django]
 check
 compilemessages
 createcachetable
 dbshell   # 进入到Django数据shell的交互模式
 diffsettings
 dumpdata
 flush
 inspectdb   # 将数据表直接导出为Models
 loaddata
 makemessages
 makemigrations   # 创建数据库的日志文件,记录Models的改动
 migrate   # 将数据库日志文件同步到数据库中
 sendtestemail
 shell
 showmigrations
 sqlflush
 sqlmigrate
 sqlsequencereset
 squashmigrations
 startapp   # 创建应用
 startproject
 test
 testserver

[sessions]
 clearsessions

[staticfiles]
 collectstatic
 findstatic
 runserver   # 启动服务

python manage.py migrate (子命令)
python manage.py createsuperuser (子命令)
(my_env) F:\web\pythonweb>python manage.py createsuperuser
  用户名 (leave blank to use ‘administrator’): liang277*
  电子邮件地址: liang277*@163.com
  Password:
  Password (again):
  Superuser created successfully.
  在浏览器中输入:127.0.0.1:8000/admin

登录界面
Django中manage文件和urls文件
登录后界面
Django中manage文件和urls文件

2、urls.py文件的使用

  • urls.py文件的作用
    • urls.py默认在主文件夹中,包含所有的地址映射
    • 用户的每一个请求,都会在urls.py中进行地址的匹配
    • 匹配成功后,再执行对应的处理程序(view视图)
  • 测试urls.py文件
    • 在项目主文件夹中创建 views.py文件 ,作用:包含所有定义好的视图(处理程序)
"""views.py"""
from django.http import HttpResponse

# 视图,处理用户的请求并给出响应
def print_views(request):  # request:表示用户的请求信息
    return HttpResponse("hello world")  # HttpResponse 响应给客户端内容

def index_view(request):
    return HttpResponse("首页")


def show_view(request, str):
    return HttpResponse(str)
"""urls.py"""
from django.contrib import admin
from django.urls import path

from .views import *   # 导入当前目录下的views模块

urlpatterns = [
    path('admin/', admin.site.urls),
    path('print/', print_view),  # 127.0.0.1:8000/print 调用views文件中的print_view函数
    path('', index_view),    # 127.0.0.0:8000 调用views文件中的index_view函数,展示首页
    path('show/', show_view, {'str':'20180426'})  # 向show_view函数传参,注意传参时,字典的键要与视图函数的形参名一致
]

3、path 函数和 url 函数的区别

  • path函数 (Django2.2版本中urls文件中默认使用函数)
    • path(route, view, kwargs=None, name=None)
    • route :请求的url路由
    • views:path处理的视图函数
    • kwargs:字典,用来向views函数传参使用
    • name:字符串,给path()起一个别名,主要在模板中配合{%path%}一起使用
  • 通过 path函数 向 view 中传参
    • 通过kwargs传参,注意传参时,字典的键要与视图函数的形参名一致
from django.contrib import admin
from django.urls import path   

from .views import *

urlpatterns = [
    path('admin/', admin.site.urls),
    path('print/', print_view), 
    path('', index_view),   
    path('show/', show_view, {'str':'20180426'})
]
  • url函数 (Django1.11版本中urls文件中默认使用函数)
    • url(regex, view, kwargs=None, name=None)
    • regex:使用正则表达式匹配请求的url路由
    • views:urlh处理的视图函数
    • kwargs:字典,用来向views函数传参使用
    • name:字符串,给path()起一个别名,主要在模板中配合{%path%}一起使用
  • 通过 url函数 向 view 中传参
    • 使用正则表达式的子组传参,使用小括号(path函数不支持)
    • 通过kwargs传参,注意传参时,字典的键要与视图函数的形参名一致
from django.contrib import admin
from django.urls import path   # 导入 path 函数
from django.conf.urls import url  # 导入 url 函数

from .views import *

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^print/$', print_view),  # 127.0.0.1:8000/print 调用views文件中的print_view函数
    url(r'^$', index_view),   # 127.0.0.0:8000 调用views文件中的index_view函数,展示首页
    url(r'show/(\d+)', show_view)   # 传参可以是任意多个数字,view接收时,以字符串的格式接收
]