zoukankan      html  css  js  c++  java
  • python-Django-01基础配置

    参考资料地址 http://www.ziqiangxuetang.com/django/django-install.html

    官方文档

    一:

    1先下载Django源码包,下载地址https://www.djangoproject.com/download/

    然后下载自己想安装的版本

    Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3.

    Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X

    Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意:Python 2.6 不支持了)

    Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5.  (长期支持版本 LTS)

    Django 1.9.x 支持 Python 2.7, 3.4 和 3.5. 不支持 3.3 了

    Django 1.10.x 支持 Python 2.7, 3.4 和 3.5. 

    Django 1.11.x 下一个长期支持版本,将于2017年4月发布

    更详细的可以参考这里一般来说,选择长期支持版本比较好。

    使用最新版本的问题就是,可能要用到的一些第三方插件没有及时更新,无法正常使用这些三方包。

    如果是学习,可以选择目前的 Django 1.8.x 来进行,遇到问题也容易找到答案。

    当然如果需要新版本的功能也可以使用新版本,毕竟 Django 1.9 以后admin界面还是更漂亮些

    我这里选择的是1.10,运行环境是kali,下载好了的话就进到你下载的安装包的位置,然后

    解压tar -xvf Django-1.10.tar.gz
    然后切换到当前目录cd Django-1.8.17
    安装python setup.py install
    或者直接pip安装
    然后检查一下有没有安装成功

    2然后现在我们就来做一些初始工作,先创建一下项目django-admin.py startproject blog2,blog2是我的项目名,这里可以改成自己想要的项目名,项目里面要有应用,所以再进入刚刚创建的项目里面再创建应用 :python manage.py startapp appname,这里我是名字叫blog

    然后进入我们创建的项目包project01里面去,里面的文件的作用和意思为:__init__.py

    Django项目是Python包,这个文件是用来告诉Python这个文件夹当做一个包。在Python术语中,包是一组模块的集合,主要用来把相似的文件分组,防止出现命名冲突。

    manage.py

    这是另外一个有用的脚步用来管理你的项目,你可以把它看做是你项目的的django-admin.py版本,其实,manage.py和django-admin.py是共用相同的后台代码。

    settings.py

    这是Django项目的主要配置文件,在这个文件里面,你可以具体说明很多选项,包括数据库设置、网页语言、需要turn on的Django功能。

    urls.py

    这是另外一个配置文件。你可以把它看做是介于URLS和用来处理它们的Python方法之间的匹配

    里面的settings.py是我们当前的工程的配置文件,我们得编辑settings.py这个文件进行修改一下一些配置

    主要的一些修改暂时就这些,不过,其中的数据库的一些配置得说一下,django默认的是所用sqlite3,而我linux下用的是mysql,如果也是mysql的话,我们要修改一下配置,但是在配置之前如果是要下载python的数据库模块MySQLdb,而1.10的话,想用mysql数据库的话,要连接mysql数据库而不使用SQLite,那么首先你必须得安装pymysql模块,python3.5版本不再支持MySQLdb模块!下载之后再去你项目目录那里的__init__.py里面添加模块才可以用

    import pymysql

    pymysql.install_as_MySQLdb()

    ,

    可以发现,我把第3行的运行数据库sqlite3换成运行mysql,name是在我们要用的数据库名字,user是数据库用户,password是数据库用户密码,host是数据库在本地运行,port是端口号

    我们的工程的一些基本的配置到这里了就差不多好了。

     二:

    1.上面只是创建了工程的基本的配置,而且也创建了应用了,现在就要配置一下应用项目的部分了

    2.进到项目里面要把我们添加的应用项目添加到配置文件settings.py里面去,在最后添加,这里我的创建的应用名称为blog,记得,号结尾。

     3.在项目目录进到urls.py这个文件下,这个文件就是url configure file,现在在这里面添加一条url访问,在这里创建url访问,就会自动的映射到应用blog下的views.py这个文件里面去。映射之后呈现出来的东西是什么,这就得我们自己去写了,现在就到views.py这个文件里面写

    而我的之前1.8写法是

    1.10都是这样,简约又方便,先在项目里面写

     blog和comments是我的应用名,然后再到应用里面建一个urls.py文件,写上

    其中app_name = 'blog' blog是我的应用名,urlpatterns里面是路由规则

    进到views.py编辑一下内容

    然后要同步一下数据库

    python manage.py syncdb,在这里你也可以顺便设置一下后台管理员(1.8还可以用,1.10已经去掉这条命令了)
     
    注意:Django 1.7.1及以上的版本需要用以下命令
    python manage.py makemigrations(migrations的功能非常强大,允许你随时修改你的模型,而不需要删除或者新建你的数据库或数据表,在不丢失数据的同时,实时动态更新数据库)
    python manage.py migrate(migrate命令对所有还未实施的迁移记录进行操作)
    python manage.py createsuperuser (创建后台管理员)

    4.因为django自带了一个开发服务器,所以只要运行 manage.py这个管理工具包就可以启动开发服务器了

    然后点浏览输入网址,这里他会提醒我们输入127.0.0.1:8000这个是默认的,但是输入的时候有可能会发现不可以,他还会提醒我们这样的信息是因为我们的url定在blog/index下,输入在8000后面输入/blog/index就可以了。

    这个时候会发现我的服务器会生成相关信息

    而1.10是这样的

     

    但是到了这一步,如果会输错的话,原因有可能是之前的配置错了,如果没配置错还会报错的话,可以有以下原因

    数据库有没有同步,数据库名字有没有和settings.py里面你定义的数据库名称一样?在创建应用的时候有没有进入项目再创建,url有没有写错。

    然后配置一下后台管理,1.10的后台管理比之前的版本比较好看。

    用1.8版本的./manage.py createsuperuser 创建用户 1.10 python3 manage.py createsuperuser创建之后运行服务器./manage.py runserver 或者python3 manage.py runserver之后输入网址127.0.0.1/admin进入管理后台,直接输入名字密码之后就可以进入,默认进入的话只有认证和授权这栏,但是在应用里面的models.py和admin.py添加一些代码的话就可以很丰富增加后台的功能,并在views视图里面将后台的内容比如是文章显示出来的话,就是很接近博客了。

    以1.8的为列

    里面我们写的class,都会继承django.db.models.Model,每一个模型都会有一些类变量,在模型里面每一个类变量都代表了数据库中的每一个字段,然后每一个字段通过Field类的一个实例表示,比如字段CharField和日期字段DateTimeField,这个方法告诉django每个字段里保存着什么类型的数据,每一个field实例的名字就是字段的名字,并且要是机器可读的格式,也就是我的代码里面的类和实例写什么,我的数据库的的表名和列名就是什么
    class User(models.Model):
    username = models.CharField(max_length=50)
    password = models.CharField(max_length=50)
    然后修改保存修改好的数据库内容是./manage.py makemigrations xx xx是你的应用名
    ./manage.py migrate 是创建模式所对应的表
    登陆的时候发现什么都看不见的话,是因为应用没有显示在管理站点的首页面上,在admin里面修改,app里面的admin.py修改,修改的时候导入一下model的类名,比如上面的User,就可以这样写
    from .models import User #导入model里面的模块
    class UserAdmin(admin.ModelAdmin):#创建模型管理对象class,然后把该对象class名作为第二个参数传入admin.site.register()
    user=('username','password')要显示的内容,前提是model里面有的,不写这条的话就默认显示每一个对象的str()返回的内容
    admin.site.register(User,UserAdmin)#告诉管理站点User对象要有一个管理界面

    django的一些最基本的配置就到这里。

  • 相关阅读:
    spring cloud 学习过程中遇到的问题
    android学习第二天遇到的问题
    android studio 安装与使用第一天
    面试记录2
    谈谈找工作和面试正常的环节
    面试记录1
    重生
    虚拟机ubuntu 登录密码忘记解决办法
    自动化的基于TypeScript的HTML5游戏开发
    借助AMD来解决HTML5游戏开发中的痛点
  • 原文地址:https://www.cnblogs.com/wudongyu/p/6558199.html
Copyright © 2011-2022 走看看