Django(1)安装&创建新项目(Python3+Django2.x)

本文详细介绍在Python3.6环境下使用Django2.1搭建Web应用的过程,包括安装配置、项目创建、视图和URL配置等关键步骤,解决常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

作者在Python 3.6.1 Django 2.1环境下开发Web应用,主要参考Runoob教程,博文大部分内容引用于之。然而,因为Django版本不同,部分操作存在差异。本文主要记录作者对教程的实现过程和遇到的问题。
下文中,Python3的安装路径记为"Python36".

Windows下安装

cmd下输入如下指令,用国内安装源安装Django 2.1:

pip install -i https://pypi.douban.com/simple django==2.1

在Python Shell中查看Django版本,验证安装成功:

>>> import django
>>> django.get_version()
'2.1'

此时 Python36/Scripts 路径下出现 django-admin.py 和 django-admin.exe ,exe文件用于创建Django项目。为方便使用,添加路径"Python36/Scripts"为系统变量。

创建第一个项目

使用Python运行 django-admin.py ,在当前目录下创建 testdj 项目:

python Python36/Scripts/django-admin.py startproject testdj

或运行 django-admin.exe 创建 testdj 项目(推荐这种方法,不然刚才设置Path没什么意义):

django-admin startproject testdj

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

python manage.py runserver

终端显示如下信息(服务器IP127.0.0.1,默认端口号8000):

Performing system checks...

System check identified no issues (0 silenced).

You have 15 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 31, 2018 - 16:49:52
Django version 2.1, using settings 'HelloWorld.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

访问127.0.0.1:8000显示如下画面:
服务器成功启用,客户端成功访问,但没有服务

视图和 URL 配置

在testdj/testdj新建view.py,定义hello函数,客户端要求访问时,服务器端显示欢迎文本。

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

接着,绑定 URL 与视图函数。
Django 1.x:注释掉原来代码,将以下代码复制粘贴到 urls.py 文件中:

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

Django 2.x(笔者):

from django.urls import path
from testdj.view import hello
urlpatterns = [
    path('', hello),
]

2.x不再有django.conf.urls.url函数,用django.urls.path实现绑定URL的功能。
此时,像刚才一样启动服务器,客户端访问,浏览器会显示"Hello Django!"的文本。
注意网上有些教程(1.x)是这么写的:

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

这是错误的,因为并不存在一个Hello目录。我们的URL就是一个空目录。如果这么写,服务器能正常启用,但访问服务器时报404:
404

其他问题(应该不会遇到)

如果无法访问,可以尝试修改testdj/testdj/settings.py,这个文件里有这样一行:

ALLOWED_HOSTS = []

改成

ALLOWED_HOSTS = ['*']

表示任意主机可以访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值