pip install Django
相關網站資源:html
Python下有許多款不一樣的 Web 框架。Django是重量級選手中最有表明性的一位。許多成功的網站和APP都基於Django。python
Django是一個開放源代碼的Web應用框架,由Python寫成。linux
Django採用了MVC的軟件設計模式,即模型M,視圖V和控制器C。shell
Django安裝以及下載手冊,注意版本對應,安裝後最後將Django安裝路徑添加到環境變量中,方便使用數據庫
1.開始建立項目:django
django-admin.py startproject HelloWorld(這是項目名)
如果不成功,查看Django路徑下文件設計模式
98,194 chardetect.exe 98,236 django-admin.exe 182 django-admin.py 98,203 easy_install-3.5.exe 98,203 easy_install.exe 98,175 pip.exe 98,175 pip3.5.exe 98,175 pip3.exe
能夠看見django-admin.exe瀏覽器
因此能夠直接使用exe文件來建立項目服務器
django-admin startproject HelloWorld(這是項目名)
便可成功cookie
查看文件夾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 5 -rwxrwx---+ 1 Administrators None 0 Mar 20 23:20 __init__.py -rwxrwx---+ 1 Administrators None 66 Mar 20 23:20 admin.py -rwxrwx---+ 1 Administrators None 88 Mar 20 23:20 apps.py drwxrwx---+ 1 Administrators None 0 Mar 20 23:20 migrations -rwxrwx---+ 1 Administrators None 60 Mar 20 23:20 models.py -rwxrwx---+ 1 Administrators None 63 Mar 20 23:20 tests.py -rwxrwx---+ 1 Administrators None 66 Mar 20 23:20 views.py
啓動項目python manage.py runserver 8080出錯
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\wsgiref\simple_server.py", line 36, in close self.status.split(' ',1)[0], 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,進行卸載。
安裝之後,修改環境變量,使用pip命令安裝Django
pip install django==1.8
刪除原來項目,從新建立Django項目
django-admin startproject HelloWorld cd HelloWorld python manage.py startapp blog python manage.py runserver 8080
頁面開始訪問:注意如今瀏覽器默認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 (403) 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 35 iptables off chkconfig iptables off
以後就能夠正常的訪問網站!!