创建第一个django项目

  • 官网

查看django版本

python -m django --version

创建django项目

django-admin startproject project_name

避免使用像 django(这将与Django本身冲突)或test(与内置Python包冲突)这样的名称

django项目目录

project_name/
    manage.py
    project_name/
        __init__.py
        settings.py
       urls.py
       wsgi.py
  • 外部 project_name/根目录只是项目的容器。它的名字对Django来说无关紧要; 你可以将它重命名为你喜欢的任何东西。
  • manage.py:一个命令行实用程序,允许您以各种方式与此Django项目进行交互。您可以manage.py在django-admin和manage.py中阅读有关的所有详细信息 。
  • 内部 project_name/目录是项目的实际Python包。它的名称是您需要用来导入其中任何内容的Python包名称(例如project_name.urls)。
  • project_name/__init__.py:一个空文件,告诉Python该目录应该被视为Python包。如果您是Python初学者,请阅读官方Python文档中有关包的更多信息。
  • project_name/settings.py:此Django项目的设置/配置。 Django设置将告诉您有关设置如何工作的所有信息。
  • project_name/urls.py:这个Django项目的URL声明; 您的Django支持的站点的“目录”。您可以在URL调度程序中阅读有关URL的更多信息。
  • project_name/wsgi.py:与WSGI兼容的Web服务器的入口点,用于为您的项目提供服务。有关更多详细信息,请参阅如何使用WSGI进行部署。

开发服务器

python manage.py runserver

改变端口

python manage.py runserver 8000

改变IP和端口

python manage.py runserver 0:8000

创建应用

python manage.py startapp app_name

APP应用目录

app_name/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

view.py是视图文件

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the index.")

在app里添加urls.py文件

app_name/urls.py

from django.urls import path
from app_name import views


urlpatterns = [
    path('', views.index, name='index'),
]

修改project_name/urls.py

fromfrom  django.contribdjango.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('app_name/', include('app_name.urls')),
    path('admin/', admin.site.urls),
]

path()函数传递了四个参数,两个必需: routeview,以及两个可选:kwargs,和name

path()参数:route

route是包含URL模式的字符串。处理请求时,Django从第一个模式开始urlpatterns并沿着列表向下移动,将请求的URL与每个模式进行比较,直到找到匹配的模式。

模式不搜索GET和POST参数或域名。例如,在请求中https://www.example.com/myapp/,URLconf将查找 myapp/。在请求中https://www.example.com/myapp/?page=3,URLconf也会查找myapp/

path()参数:view

当Django找到匹配的模式时,它调用指定的视图函数,其中一个HttpRequest对象作为第一个参数,并且路由中的任何“捕获”值作为关键字参数。我们稍后会给出一个例子。

path()参数:kwargs

任意关键字参数可以在字典中传递到目标视图。我们不打算在教程中使用Django的这个功能。

path()参数:name

命名您的URL可让您从Django的其他地方明确地引用它,尤其是在模板中。此强大功能允许您在仅触摸单个文件的同时对项目的URL模式进行全局更改。

你可能感兴趣的:(创建第一个django项目)