python安装django方法及报错解决

首先可以去django官网查一下合适的版本(支持python 2.7 和python3.x)

https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django

安装方法参考官网,Option 2中 development version是非稳定版本,可以下载tar.gz包安装

https://www.djangoproject.com/download/

Python环境(3.7.1)

方法一:使用pip安装("==" 后写django版本号)

pip install Django==2.1.4

安装成功后可以使用命令 python -m django --version 查看版本,也可以进入python交互环境执行 import django确认无报错。

Python 3.7.1 (default, Dec 15 2018, 19:57:31)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import django
>>>

方法二:使用源码安装

首先,把官网下载的tar.gz上传至服务器并解压缩

# tar -xzvf Django-2.1.4.tar.gz

然后进入Django解压后的路径,里面有setup.py,执行python setup.py install

# ls
Django-2.1.4  Django-2.1.4.tar.gz
# cd Django-2.1.4
# python setup.py install

如果顺利的话,安装完成。但是,遇到了两个问题

问题1:

[root@xxx Django-2.1.4]# python setup.py install
Traceback (most recent call last):
  File "setup.py", line 32, in <module>
    """.format(*(REQUIRED_PYTHON + CURRENT_PYTHON)))
ValueError: zero length field name in format
[root@xoam Django-2.1.4]# python setup.py help
Traceback (most recent call last):
  File "setup.py", line 32, in <module>
    """.format(*(REQUIRED_PYTHON + CURRENT_PYTHON)))
ValueError: zero length field name in format

原因:上网查了一下有博主进一步分析得出是python版本的问题。检查了一下自己的环境除了python3.7还妆了python2.6,而python2.6是不支持django的。

解决:执行python命令带上python3全路径,例如

[root@xxx Django-2.1.4]# /opt/python3/Python-3.7.1/python setup.py install

或者使用python3

[root@xxx Django-2.1.4]# python3 setup.py install

以上报错解决后,安装过程遇到了第二个报错

问题2:

...
Installed /usr/local/lib/python3.7/site-packages/Django-2.1.4-py3.7.egg
Processing dependencies for Django==2.1.4
Searching for pytz
Reading https://pypi.python.org/simple/pytz/
Download error on https://pypi.python.org/simple/pytz/: unknown url type: https -- Some packages may not be found!
Couldn't find index page for 'pytz' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
Download error on https://pypi.python.org/simple/: unknown url type: https -- Some packages may not be found!
No local packages or working download links found for pytz
error: Could not find suitable distribution for Requirement.parse('pytz')

于是去python官网下载pytz安装(同样解压后去pytz路径执行python setup.py install)

https://pypi.org/project/pytz/#files

再去安装Django,成功~

...
Installed /usr/local/lib/python3.7/site-packages/Django-2.1.4-py3.7.egg
Processing dependencies for Django==2.1.4
Searching for pytz==2018.7
Best match: pytz 2018.7
Processing pytz-2018.7-py3.7.egg
pytz 2018.7 is already the active version in easy-install.pth

Using /usr/local/lib/python3.7/site-packages/pytz-2018.7-py3.7.egg
Finished processing dependencies for Django==2.1.4
[root@xxx Django-2.1.4]# /opt/python3/Python-3.7.1/python -m django --version
2.1.4

(End)

 

====================================

            分           割          线

====================================

一些学习笔记(有点乱哈哈,没地方放了)

课程视频 https://www.imooc.com/learn/790 

(一)安装Django(参考https://www.djangoproject.com/download/)

环境:Windows,Python3.7

可以用pip安装,使用命令 pip install Django==<版本号>

C:\> pip install Django==2.1.4

也可以用源码安装(下载tar.gz然后进入目录执行 python setup.py install)

 

(二)创建项目及应用

安装Django后就可以在命令行执行 django-admin 这个命令了

创建项目

打开命令行,进入想要安置项目的路径

命令行输入:django-admin startproject myblog (若没有报错,则创建项目成功)

C:\>cd imoocBlog

C:\imoocBlog>django-admin startproject myblog

C:\imoocBlog>

使用PyCharm打开Project,可以看到目录层级

回到命令行,执行如下命令

C:\imoocBlog\myblog>python manage.py runserver
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 19, 2018 - 21:48:05
Django version 2.1.4, using settings 'myblog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

打开Chrome,输入网址http://127.0.0.1:8000/ 或者 http://localhost:8000/ 看到如下页面

8000是默认端口,如果想用别的端口,也是可以滴~ 启动命令改成   python manage.py runserver <端口号>

 

创建应用

打开命令行,进入项目中manage.py同级目录

输入如下命令创建应用blog,执行完后 manage.py同级目录下出现blog/这个文件夹

注意:应用名不可以和python中的模块名相同

C:\imoocBlog\myblog>python manage.py startapp blog

C:\imoocBlog\myblog>dir
...

 C:\imoocBlog\myblog 的目录

2018/12/19  22:17    <DIR>          .
2018/12/19  22:17    <DIR>          ..
2018/12/19  22:17    <DIR>          blog
2018/12/19  21:48                 0 db.sqlite3
2018/12/19  21:40               553 manage.py
2018/12/19  21:47    <DIR>          myblog
               2 个文件            553 字节
               4 个目录  2,652,831,744 可用字节

C:\imoocBlog\myblog>

添加应用名到 settings.py 的 INSTALL_APPS 中

创建第一个页面(响应)

先看一下目录结构

编辑myblog/blog/views.py

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
    return HttpResponse('Hello,word!')

编辑myblog/myblog/urls.py 仿照例子添加 urlpatterns(采用的是注释提示的第一种方法Function views)

"""myblog URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
import blog.views as bv
urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', bv.index),
]

到命令行启动server

C:\imoocBlog\myblog>python manage.py runserver

打开网页 http://127.0.0.1:8000/blog/,可以看到views.py文件中index函数返回的 Hello,word!

步骤总结

(1)编辑blog.views

         每个响应对应一个函数,函数必须返回一个响应

         函数必须存在一个参数,一般约定为request

         每一个响应(函数)对应一个URL

(2)配置URL(编辑urls.py)

         每个URL都以url的形式写出来

         url函数放在urlpatterns列表中

         url函数三个参数:URL(正则),对应方法,名称

(三)第一个模板

import blog.views as bv

urlpatterns = [

    path('admin/', admin.site.urls),

    path('index/', bv.index),

]

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
遇到 `Traceback` 错误,特别是涉及到 Django 安装时,通常是因为安装过程中出现了异常或依赖不匹配。处理这类问题通常需要按照以下步骤进行: 1. **查看错误信息**:首先,仔细阅读错误日志(Traceback)中的具体信息。它会告诉你出错的位置以及可能的原因,比如可能是缺失的库、版本冲突,或者是文件路径问题。 ```shell $ python manage.py runserver ``` 或者 ```shell $ pip install django ``` 如果安装过程中报错,命令行会显示详细错误。 2. **检查依赖**:确认已安装Python 版本和 Django 是否兼容。Django 有特定版本的要求,你需要使用 `pip list` 或 `pip show django` 来查看已安装Django 版本,如果有冲突则尝试降级或升级到合适的版本。 3. **清理环境**:有时候,旧的库或环境变量可能会导致问题,试着先删除虚拟环境(venv),然后重新创建并激活: ```shell rm -rf venv python3 -m venv venv source venv/bin/activate ``` 4. **重新安装**:在干净的环境中,再次尝试安装 Django,确保所有必需的预处理器(如 South 或 Django migrations)已经安装: ```shell pip install django[all] ``` 5. **检查网络**:如果从网络源安装出现问题,确保你的网络连接正常,并尝试使用 `--no-use-pep517` 参数: ```shell pip install --no-use-pep517 django ``` 6. **检查权限**:确保你有足够的权限在指定目录下安装。 7. **更新包管理器**:有时问题可能源于包管理器本身,尝试更新 `pip` 和 `setuptools`: ```shell pip install --upgrade pip setuptools ``` 8. **查阅文档或寻求帮助**:如果上述方法都无法解决问题,查阅官方文档(https://docs.djangoproject.com/)或在相关技术论坛(如Stack Overflow)寻求专业人士的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值