首先可以去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,可以看到目录层级

django 安装 MySQLdb django安装失败怎么办_python

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

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/ 看到如下页面

django 安装 MySQLdb django安装失败怎么办_django_02

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 中

django 安装 MySQLdb django安装失败怎么办_django 安装 MySQLdb_03

创建第一个页面(响应)

先看一下目录结构

django 安装 MySQLdb django安装失败怎么办_django 安装 MySQLdb_04

编辑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)

django 安装 MySQLdb django安装失败怎么办_ooc_05

"""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(正则),对应方法,名称

django 安装 MySQLdb django安装失败怎么办_ooc_06

(三)第一个模板

import blog.views as bv

urlpatterns = [

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

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

]