pip install Django

相关网站资源:

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

Django是一个开放源代码的Web应用框架,由Python写成。

Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。

Django安装以及下载手册,注意版本对应,安装后最后将Django安装路径添加到环境变量中,方便使用

1.开始创建项目:

django-admin.py startproject HelloWorld(这是项目名)

若是不成功,查看Django路径下文件

            , chardetect.exe
, django-admin.exe
django-admin.py
, easy_install-3.5.exe
, easy_install.exe
, pip.exe
, pip3..exe
, pip3.exe

可以看见django-admin.exe

所以可以直接使用exe文件来创建项目

django-admin startproject HelloWorld(这是项目名)

即可成功

查看文件夹HelloWorld  ---项目的容器

manage.py       --Django项目里面的工具,通过它可以调用django shell和数据库等
HelloWorld:      --文件夹
__init__.py   --一个空文件,告诉 Python 该目录是一个 Python 包
settings.py    --包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py      --该 Django 项目的 URL 声明; 负责把URL模式映射到应用程序
wsgi.py      --一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目

创建应用app(加入HelloWorld目录项目容器)真正网站中应用不止一个,像支付,聊天等多个应用在同一个项目

python manage.py startapp blog

发现在项目容器中多了blog文件夹,查看目录

./blog:
total
-rwxrwx---+ Administrators None Mar : __init__.py
-rwxrwx---+ Administrators None Mar : admin.py
-rwxrwx---+ Administrators None Mar : apps.py
drwxrwx---+ Administrators None Mar : migrations
-rwxrwx---+ Administrators None Mar : models.py
-rwxrwx---+ Administrators None Mar : tests.py
-rwxrwx---+ Administrators None Mar : views.py

启动项目python manage.py runserver 8080出错

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\wsgiref\simple_server.py", line , in close
self.status.split(' ',)[], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'

解决方案:

在经过了一会儿的排查和网上资料的查找,发现Django对于python3以上并不是多么友好,于是就像在python2.7下使用,

奈何原来安装的python2.7版本中并不自带pip,想着单独安装pip,网上找了一堆方案...,最后决定安装python2.7.10吧,这款版本自带pip

开始卸载原有python2.7,在我的电脑,控制面板中可以找到python2.7,进行卸载。

开始下载python2.7.10并安装

安装以后,修改环境变量,使用pip命令安装Django

pip install django==1.8

删除原来项目,重新创建Django项目

django-admin startproject HelloWorld
cd HelloWorld
python manage.py startapp blog
python manage.py runserver

页面开始访问:注意现在浏览器默认https://127.0.0.1:8080

Django需要使用http://127.0.0.1:8080

成功访问:

另外:当初次使用post上传数据时:

<form action="/userinfo/" method="post">
<input name="name" type="text"/>
<input name="age" type="text"/>
<input type="submit">
</form>

后台:

user=[]
def userinfo(request):
user1={}
if request.method == "POST":
user1['name']=request.POST.get("name",None)
user1['age']=request.POST.get("age",None)
user.append(user1)
return render(request, "post1.html",{"user_list":user})

有可能会出现下面情况:

Forbidden ()
CSRF verification failed. Request aborted.
You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.

是由于为了防止跨站请求伪造的原因,在settings文件中可以修改:

MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)

将绿色注释即可


将项目布置到服务器上后,我们需要去配置属性

ALLOWED_HOSTS = ['*']  #设置允许所有的主机访问

然后在启动项目时

python manage.py runserver 0.0.0.0:8080  #也可以起到一样的效果

注意:在客户机上访问时,此时可能不能被正确的访问,是因为我们的ip被防火墙过滤掉了。

0.查看防火墙状态

/etc/init.d/iptables status

1.设置防火墙:

[root@redhat2 crazyeye]# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT  #允许8080端口数据访问
[root@redhat2 crazyeye]# /etc/init.d/iptables save  #保存配置
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

2.临时关闭防火墙

/etc/init.d/iptables stop 

3.永久关闭,不随着我们下一次重启而启动

chkconfig --level  iptables off
chkconfig iptables off

之后就可以正常的访问网站!!

推文:redhat linux/CentOS 6/7 如何关闭防火墙?

python---django初步了解以及安装(包括Django网页首次无法访问的原因及解决方法,以及在linux服务器上布置无法启动的原因)的更多相关文章

  1. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  2. [Python Debug]Kernel Crash While Running Neural Network with Keras|Jupyter Notebook运行Keras服务器宕机原因及解决方法

    最近做Machine Learning作业,要在Jupyter Notebook上用Keras搭建Neural Network.结果连最简单的一层神经网络都运行不了,更奇怪的是我先用iris数据集跑了 ...

  3. Dell Omsa在Linux服务器上安装部署

    前言 本页详述了在一台Linux(RHEL6.4 x86_64)服务器上部署安装OMSA的通用做法,包括OMSA软件的获取方法和安装步骤. 演示环境: PowerEdge R620, RHEL 6.4 ...

  4. vscode实现远程linux服务器上Python开发

      最近需要训练一个生成对抗网络模型,然后开发接口,不得不在一台有显卡的远程linux服务器上进行,所以,趁着这个机会研究了下怎么使用vscode来进行远程开发.   1 配置免密登录¶   (1)在 ...

  5. 在Dell R720服务器上安装ESXI5.5时会出现卡在LSI_MR3.V00的解决方法

    接近年底,公司各种活动,各种加班,导致没有太多时间写博客,今抽了点时间将前几天搭建虚拟化服务时所出现的一个问题描述下: 服务器配置:CUP E5-2609     内存32G          硬盘5 ...

  6. .NET 3.5 安装错误的四个原因及解决方法

    .net framework 3.5 安装错误的四个常见原因及解决方法,飓风软件站整理,转载请注明. 1.清除所有版本 .NET Framework  安装错误后在系统中遗留的文件: 如果您以往安装过 ...

  7. 安装tomcat出现failed to install tomcat8 service错误及解决方法

    failed to install tomcat8 service 如下图所示:     一.安装tomcat出现failed to install tomcat6 service错误及解决方法(转载 ...

  8. 在阿里云Linux服务器上安装MySQL

    申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务器. 操作系统:Red Hat Enterprise Linux Server 5.4 64位. CPU:1核 内存:5 ...

  9. 如何查找Linux服务器上JDK安装路径?

    成功远程到你要部署软件的Linux服务器上.这是第一步. 查看JDK版本:java -version 查看java执行路径:which java 查看JAVA_HOME路径:echo $JAVA_HO ...

随机推荐

  1. JAVA 文件读取写入后 md5值不变的方法

    假如我们想把某文件读入 StringBuffer 并写入新文件,新文件md5值需要保持不变(写入新文件后保证和源文件一模一样), 我们就需要在操作 StringBuffer 时附加换行符: Strin ...

  2. zooland 新开源的RPC项目,希望大家在开发的微服务的时候多一种选择,让微服务开发简单,并且容易上手。

    zooland 我叫它动物园地,一个构思很长时间的一个项目.起初只是觉得各种通信框架都封装的很好了,但是就是差些兼容,防错,高可用.同时在使用上,不希望有多余的代码,像普通接口一样使用就可以了. 基于 ...

  3. ASP.NET Core采用Web Deploy方式发布到 Windows Server 2012 IIS上

    小白一枚,租个服务器,发布下网站,满足下好奇心,讲的粗糙,请大家谅解哈~ 1.配置服务器环境.这部分网上教程比较多. (1)开启IIS,参考其他博客的,担心的话,将Web服务器(IIS)全选哈~ (2 ...

  4. Codeforces Round #550 (Div. 3) E. Median String (模拟)

    Median String time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  5. DES的加密与解密算法(Python实现)

    DES的加密与解密算法(Python实现) 密码学实验:实现了DES的简单的加密和解密算法,DES算法的相关资料网上很多,这里不再赘述,仅仅贴出源代码给大家分享,源码中包含很多汉字注释,相信大家都是可 ...

  6. Quartz带参数任务的创建与修改

    需求背景:创建的quartz任务需要用到三个参数,根据参数去执行并将结果入库,并且参数可修改更新. 这里,有三个参数需要传入,分别是planId.target.officeId 定义Job类: pub ...

  7. 【Beta阶段】第二次Scrum Meeting!

    每日任务内容: 本次会议为第二次Scrum Meeting会议~ 由于本次会议项目经理召开时间较晚,所以在公寓7层召开,所以女生没来…召开时间大家集会10分钟,经理与后端探讨20分钟. 队员 昨日完成 ...

  8. java 读写 excle 完整版

    pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</a ...

  9. CMS垃圾回收过程

    1.总体介绍: CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器.对于要求服务器响应速度的应用上,这种垃圾回收器非常适合.在启动JVM参数加上 ...

  10. sleep,yield,join,notify,wait,notifyAll区别

    1.  Thread.sleep(long) 和Thread.yield()都是Thread类的静态方法,在调用的时候都是Thread.sleep(long)/Thread.yield()的方式进行调 ...