一、简介


Django是python语言编写的目前主流的web开发框架之一。他已经自带了一套比较完善的权限管理体系,可直接进行使用或进行定制化开发。


二、django安装

前提条件:


1、需要安装python环境。具体如下:


下载python安装包。windows环境一般有zip格式和EXE两种。新手可以使用EXE格式的方便界面话操作。

2、下载django安装包,一般是tar.gz的安装包。可以使用解压缩软件解压到python安装路径的根目录(即磁盘根目录)。进入django解压目录,运行命令行。然后执行 python setup.py install命令,等待全部安装完毕。


注意看安装信息,因为安装过程需要下载相关依赖包,可能会由于网络问题报错。


等安装程序执行完毕,输入如下命令检查安装是否成功。

import django
 
django.get_version()
 
如安装成功,可继续下一步骤。
 
三、安装pymysql
 
pip3 install pymysql
 
四、安装mysqlclient
 
pip/pip3 install mysqlclient

三、创建项目


1、进入准备创建项目的目录,打开cmd并输入如下内容:


django-admin startproject 项目名称


然后就能看见项目目录创建成功,如创建名称为mysite的项目:



目录结构如下:


mysite/


manage.py


mysite/


__init__.py


settings.py


urls.py


wsgi.py


目录及文件介绍(以下摘自Django官网文档)


These files are:


  • The outer mysite/ root directory is just a container for your project. Its name doesn’t matter to Django; you can rename it to anything you like.
  • manage.py: A command-line utility that lets you interact with this Django project in various ways. You can read all the details about manage.py in django-admin and manage.py.
  • The inner mysite/ directory is the actual Python package for your project. Its name is the Python package name you’ll need to use to import anything inside it (e.g. mysite.urls).
  • mysite/__init__.py: An empty file that tells Python that this directory should be considered a Python package. If you’re a Python beginner, read more about packages in the official Python docs.
  • mysite/settings.py: Settings/configuration for this Django project. Django settings will tell you all about how settings work.
  • mysite/urls.py: The URL declarations for this Django project; a “table of contents” of your Django-powered site. You can read more about URLs in URL dispatcher.
  • mysite/wsgi.py: An entry-point for WSGI-compatible web servers to serve your project. See How to deploy with WSGIfor more details.

2、启动项目


切换目录到刚刚创建的项目根目录,在cmd执行如下命令:


  • 使用默认端口启动

python manage.py runserver


  • 使用指定IP和端口启动

python manage.py runserver 127.0.0.1: 8080


3、查看项目


待项目启动完成,会出现如下界面:




django resf安装 django怎么安装_python



即访问地址为:localhost:8000.


4、创建应用(应用可理解为一个包)


python manage.py startapp polls



四、实例


修改项目目录的settings.py文件中如下参数:


DATABASES = { ' default ' : { ' ENGINE ' : ' django.db.backends.mysql ' , ' NAME ' : ' test ' , ' USER ' : ' test ' , ' PASSWORD ' : ' test123 ' , ' HOST ' : ' localhost ' , ' PORT ' : ' 3306 ' , }}


配置完毕后,执行


python manage.py syncdb 或者python manage.py migrate( django 1.7以上


完毕之后,继续执行 python manage.py createsuperuser创建超级用户


然后在浏览器输入地址:localhost:8000/admin,跳转至如下界面,输入刚刚创建的用户名称和密码登录。



django resf安装 django怎么安装_Python_02



四、目录文件及配置说明


urls.py文件


# ^$代表根目录访问


helloWorld),


其中黄色标记部分是在view.py文件中定义的函数名,如:



迭代功能


{% for athlete in athlete_list %} <li> {{ athlete.name }} </li> {% endfor %}


反向迭代


{% for athlete in athlete_list reversed %} ... {% endfor %}



ifequal/ifnotequal 标签


{% ifequal %} 标签比较两个值,当他们相等时,显示在 {% ifequal %} 和 {% endifequal %} 之中所有的值。
 
下面的例子比较两个模板变量 user 和 currentuser :
 
{%   ifequal user currentuser   %} 
  
 <h1> 
 Welcome 
 !</ 
 h1 
 > 
  
 {% 
  endifequal  
 %}
 
和 {% if %} 类似, {% ifequal %} 支持可选的 {% else%} 标签:8
 
{%   ifequal section   'sitenews' 
  
 %} 
  
 <h1> 
 Site 
  
 News 
 </ 
 h1 
 > 
  
 {% 
  
 else 
  
 %} 
  
 <h1> 
 No 
  
 News 
  
 Here 
 </ 
 h1 
 > 
  
 {% 
  endifequal  
 %}


继承块


{% block mainbody %}  <  p 
 > 
 original 
 </ 
 p 
 > 
 {% endblock %}
 
在其他页面要使用时,只需加入继承声明内容,然后添加继承块说明即可。如下:
 

  {% extends "base.html" %} 

 
{% block mainbody %}  <  p 
 > 
 继承了 base.html 文件 
 </ 
 p 
 > 
 {% endblock %}
 

  通过对象构建数据库表 

 
$ python manage  .  py makemigrations  
 TestModel 
  
 # 让 Django 知道我们在我们的模型有一些变更 
 $ python manage 
 . 
 py migrate  
 TestModel 
  
 # 创建表结构


五、异常处理


(1)创建对象带有外键时不添加on_delete参数报错



django resf安装 django怎么安装_django resf安装_03



解决办法,添加该参数即可。表示级联删除。



(2)创建表时,自定义对象没有创建对应表


解决办法:


执行manage.py makemigrations


然后再执行manage.py migrate