Django入门之一

本文是基于Window 10 Django 2.0 Python 3.6的环境写成

创建项目

  1. 跳转到我们的项目目录,通过执行django-admin命令来生成项目

    1
    2
    cd Python
    django-admin startproject Demo

    如果django-admin不工作的话 请查看帮助

  2. 运行命令后 会创建一些文件及文件夹目录如下

    1
    2
    3
    4
    5
    6
    7
    Demo/
    manage.py
    Demo/
    __init__.py
    settings.py # Django的配置文件
    urls.py # 路由配置
    wsgi.py

开发服务

是时候见证奇迹了

1
python manage.py runserver

然后会输出下面的信息

1
2
3
4
5
6
7
8
9
10
Performing system checks...
System check identified no issues (0 silenced).
You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 26, 2017 - 11:49:18
Django version 2.0, using settings 'Demo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

现在在浏览器里打开http://127.0.0.1:8000/就能看到了

如果想要更改启动端口

1
python manage.py runserver 8080

如果想更改ip,能够让局域网内的其他用户访问到

1
python manage.py runserver 0:8000

还需要在settings.py中设置允许的ip

1
2
# settings.py
ALLOWED_HOSTS = ['192.168.1.153']

这时我们再通过http://192.168.1.153:8000即可访问

创建一个App

1
python manage.py startapp polls

这样将会创建一个polls的文件夹

目录结构如下

1
2
3
4
5
6
7
8
9
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py

编写视图

pycharm或者其他编辑器中打开/polls/views.py进行编辑

1
2
3
4
5
6
7
# polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("你好!")

创建路由文件

  1. polls文件夹下创建一个urls.py的文件作为我们的路由文件, 并进行编辑

    1
    2
    3
    4
    5
    6
    7
    8
    # polls/urls.py
    from django.urls import path
    from . import views
    urlpatterns = [
    path('', views.index, name='index'),
    ]
  2. polls下的urls导入到Demo的路由中

    1
    2
    3
    4
    5
    6
    7
    8
    # Demo/urls.py
    from django.urls import include, path
    from django.contrib import admin
    urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
    ]
  3. 现在打开浏览器http://127.0.0.1:8000/polls/就能看到

    你好!

  4. path 函数的参数: routeviewkwargsname

    • route: 一个包含URL模式的字符串
    • view: URL对应的视图函数
    • kwargs
    • nameURL的别名