Django

Django 创建第一个项目

2019-01-24  本文已影响0人  hiekay

本章我们将介绍Django 管理工具及如何使用 Django 来创建项目,第一个项目我们以 HelloWorld 来命令项目。

测试版本说明:


Django 管理工具

安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.py。我们可以使用 django-admin.py 来创建一个项目:

我们可以来看下django-admin.py的命令介绍:

[root@solar ~]# django-admin.py
Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings=SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath=PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on exception
  --version             show program's version number and exit
  -h, --help            show this help message and exit

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

Available subcommands:

[django]
    check
    cleanup
    compilemessages
    createcachetable
……省略部分……

创建第一个项目

使用 django-admin.py 来创建 HelloWorld 项目:

django-admin.py startproject HelloWorld

最新版的 Django 请使用 django-admin 命令:

django-admin startproject HelloWorld

创建完成后我们可以查看下项目的目录结构:

$ cd HelloWorld/
$ tree
.
|-- HelloWorld
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

目录说明:

接下来我们进入 HelloWorld 目录输入以下命令,启动服务器:

python manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:

image.png

视图和 URL 配置

在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:

HelloWorld/HelloWorld/view.py 文件代码:

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

接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:

HelloWorld/HelloWorld/urls.py 文件代码:

from django.conf.urls import url
 
from . import view
 
urlpatterns = [
    url(r'^$', view.hello),
]

整个目录结构如下:

$ tree
.
|-- HelloWorld
|   |-- __init__.py
|   |-- __init__.pyc
|   |-- settings.py
|   |-- settings.pyc
|   |-- urls.py              # url 配置
|   |-- urls.pyc
|   |-- view.py              # 添加的视图文件
|   |-- view.pyc             # 编译后的视图文件
|   |-- wsgi.py
|   `-- wsgi.pyc
`-- manage.py

完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问:

image.png

我们也可以修改以下规则:

HelloWorld/HelloWorld/urls.py 文件代码:

from django.conf.urls import url
 
from . import view
 
urlpatterns = [
    url(r'^hello$', view.hello),
]

通过浏览器打开 http://127.0.0.1:8000/hello,输出结果如下:

image.png

注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。


url() 函数

Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。

2 备注

  1. 启动django后,不能访问,报400错误。

    原因:没有开启允许访问

    处理:编辑HelloWorld目录下setting.py ,把其中的

    ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=[''] ## 表示任意地址。

  2. 如果是 Django >= 2.0 的版本,urls.py 的 django.conf.urls 已经被 django.urls 取代。
    

    django.urls 的用法参考如下:

from django.urls import path
from . import view

urlpatterns = [
    path('', view.hello),
    path('world/', view.world)
]
其中最大的几个改变如下:

**import url** 变成了 **import path**

如果是路径,则须在路径后加个 /

旧版 django 的用法:
from django.conf.urls import url
 
from . import view
 
urlpatterns = [
    url(r'^hello$', view.hello),
]
新版的参考写法:
from django.urls import path
from . import view

urlpatterns = [
    path('hello/', view.hello),
]

注意:

如果报错:


image.png

解决方法:
执行一下:

python manage.py migrate
上一篇 下一篇

猜你喜欢

热点阅读