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 如何关闭防火墙?

最新文章

  1. (转)什么是“黑客” by 王珢
  2. mysql内存使用以及优化中需要的几点注意
  3. Mysql的一些小知识点
  4. IOS 沙盒机制 &amp;&amp; 关于document\library\tmp的灵活使用
  5. iOS上获得MAC地址
  6. Eclipse的快捷键及常用设置
  7. Android常用的物理按键及其触发事件
  8. 设计模式模式游客(Visitor)摘录
  9. Linux学习 -- 文件系统管理
  10. 在Linux上使用PGP签名验证文件完整性
  11. bzoj 2510 弱题 矩阵乘
  12. 改造一下jeecg中的部门树
  13. Layui追加合计
  14. 开发环境搭建(lnmp)
  15. group by having 判断重复的有几条数据
  16. 【转】图像的上采样(upsampling)与下采样(subsampled)
  17. solr使用cursorMark做深度分页
  18. Geocoding java调用百度地图API v2.0 图文 实例( 解决102错误)
  19. scala combineByKey用法说明
  20. Arduino 101/Genuino101使用-第一篇

热门文章

  1. [BZOJ4144][AMPPZ2014]Petrol[多源最短路+MST]
  2. stl源码剖析 详细学习笔记heap
  3. 【2017年9月10日更新】ABP配套代码生成器(ABP Code Generator)帮助文档,实现快速开发
  4. 12.15daily_scrum
  5. 《linux内核分析》第一周(2.22~2.28)
  6. YQCB冲刺第二周第四天
  7. think in UML(一)
  8. Book Review 《构建之法》
  9. (第三周)wc.exe—命令行实现对指定目录下文件的操作
  10. 如何运行spring项目,并打成jar包进行发布