『壹』 Django開發的網站如何被百度更好收錄
1.在做網站之前一定要選好一個伺服器,一個伺服器的穩定,能幫助你的網站能夠快速的收錄,如果別人訪問你的網站根本就進不去,那就別想被收錄了。
2.文章一定要是原創度比較高的文章,一篇文章它的偽原創度一定要大於百分之七十。
3.一定要做好三大標簽的撰寫,其中標題描述和關鍵詞一定要符合用戶體驗,並且與企業的品牌,企業的產品都要符合,這樣才能使你的網站優化的更好。
4.注冊網路站長平台,然後通過鏈接提交把每天發布的文章提交到網路站長平台上面,就可以使網路蜘蛛有機會抓取那個網頁,這樣就能夠快速的收錄網站內容。
『貳』 如何在阿里雲上搭建django網站
一個網站至少要包括域名和主機空間,域名是平時所說的網址,空間是用來放網頁文件的。
1、申請域名:域名需要便於記憶、了解,越短越好,可以是您品牌的名稱的英文或中文拼音。
2、申請主機空間:如果會用DW等軟體設計網頁就用虛擬主機,如果不會設計就用速成網站做,會打字就可以做網站,操作簡單,功能強大,可以先免費試用一下。
注意:國內主機必須備案成功後才能用您自己的域名訪問,網站備案一般需要10個工作日左右;個人網站備案後,不能放企業或產品類的內容。速成網站國際版不需要備案,可直接使用。
希望可以幫到您,可加一下我。
『叄』 如何在阿里雲上部署django網站
概述與目的
此帖介紹了如何(利用 Ubuntu 操作系統)在阿里雲上啟動和部署 Django 應用程序。這兩個流程的詳細步驟說明如下所述:
● 使用阿里雲管理控制台啟動您的第一個 Linux 實例
● 在此實例上安裝和部署 Django 應用程序
關於 Django
Django 是一個用 Python 語言寫的開源 Web 框架,可幫助開發人員在構想形成後僅數小時內啟動 Web 應用程序。它遵循模型視圖模板 (MVT) 來構建應用程序,這可降低 Web 開發的復雜性,同時可讓開發人員集中精力編寫應用程序。它為網站地圖、內容管理、用戶鑒權、RSS 提要及其他任務提供開箱即用的設置。一些高流量網站使用 Django 是因為它能夠快速、靈活地進行調整,從而可滿足流量波動高峰期的需求。
前提條件
1. 為 Python 應用程序安裝 virtualenv 和 virtualenv wrapper,目的在於為 Python 項目創建獨立的環境。
● 安裝 pip
sudo apt-get install python-pip
● 安裝 virtualenv
sudo pip install virtualenv
● 創建目錄以存儲您的 virtualenv
mkdir ~/.virtualenvs
● 安裝 virtualenwrapper
sudo pip install virtualenvwrapper
● 將 WORKON_HOME 設置為您的 virtualenv 目錄
導出 WORKON_HOME=~/.virtualenvs
● 將 WORKON_HOME 設置為您的 virtualenv 目錄
導出 WORKON_HOME=~/.virtualenvs
● 將virtualenvwrapper.sh添加到.bashrc
將此行添加到 ~/.bashrc 的末尾,以便載入 virtualenvwrapper 命令。/usr/local/bin/virtualenvwrapper.sh
退出,然後重新打開您的 shell,或者使用.bashrc or source ~/.bashrc命令重新載入 .bashrc,然後一切准備就緒。
2. 安裝 git。
apt-get install git
3. 安裝 Nginx 作為 Web 伺服器,這樣您便可在其之後運行您的應用程序。
Sudo apt-get install nginx
啟動您的第一個 Linux 實例
接下來向您介紹使用阿里雲管理控制台運行 ECS 實例的相關步驟。
1. 登錄到您的帳戶,然後導航到「產品與服務」部分下的「雲伺服器」。單擊側邊欄菜單中的概覽。這會顯示運行中的實例列表。單擊購買實例從任意地域購買實例,或者繼續到下一步創建新實例。
2. 單擊側邊欄菜單中的實例。在實例列表中選擇所需地域,然後單擊右上方欄中的創建實例。
● 將其保存到應用程序目錄上的 uwsgi.ini。如需進一步了解如何編寫 ini 文件,請參閱Python/WSGI 應用程序快速入門。運行此命令以啟動您的應用程序。
uwsgi uwsgi.ini (您的 ini 文件)
12. 更改 nginx 配置文件以用於應用程序。
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name localhost; location /static/ { include uwsgi_params; alias /root/todoApp/public/; } location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } }
13. 重啟 nginx,隨後您的應用程序將啟動並在埠 80 上的 nginx 之後運行。
結論
在本文中,我們討論了如何在阿里雲上部署 Django 應用程序。概括地說,第一步是(利用 Ubuntu 操作系統)運行 ECS 實例。然後,您可以在此實例上安裝和部署 Django 應用程序。請注意前提條件,確保順利完成部署。
『肆』 如何使用Django創建博客
如果您想開始寫博客,又想使用功能強大的Web框架創建自己的博客,那麼Django是您的最佳選擇。目前該系列有14個教程,我仍在研究中,歡迎您給我更多的想法。
這些教程是:
為Django開發設置Vscode:在第一個視頻中,您將學習如何在vscode文本編輯器上為Django建立開發環境。使用Django創建博客文章模型:該視頻涵蓋了為博客文章創建模型的所有細節,從標題,作者到標簽。將富文本編輯器添加到Django項目:在這里,您將學習如何將富文本編輯器添加到表單或Django項目中的任何位置。
設計帖子頁面:有關使用Bootstrap 4設計詳細帖子頁面的快速教程。
在詳細信息帖子中添加類似的帖子小部件:將標記功能添加到我們的Django博客網站。
使用Django的簡單用戶身份驗證系統:實現Django第三方應用程序,用戶可以在其中注冊,登錄以及重設和更改密碼。
『伍』 如何創建一個Django網站
本文演示如何創建一個簡單的 django 網站,使用的 django 版本為1.7。
1. 創建項目
運行下面命令就可以創建一個 django 項目,項目名稱叫 mysite :
$ django-admin.py startproject mysite
創建後的項目目錄如下:
mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
說明:
__init__.py :讓 Python 把該目錄當成一個開發包 (即一組模塊)所需的文件。 這是一個空文件,一般你不需要修改它。
manage.py :一種命令行工具,允許你以多種方式與該 Django 項目進行交互。 鍵入python manage.py help,看一下它能做什麼。 你應當不需要編輯這個文件;在這個目錄下生成它純是為了方便。
settings.py :該 Django 項目的設置或配置。
urls.py:Django項目的URL路由設置。目前,它是空的。
wsgi.py:WSGI web 應用伺服器的配置文件。更多細節,查看 How to deploy with WSGI
接下來,你可以修改 settings.py 文件,例如:修改 LANGUAGE_CODE、設置時區 TIME_ZONE
SITE_ID = 1
LANGUAGE_CODE = 'zh_CN'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = True
上面開啟了 [Time zone](https://docs.djangoproject.com/en/1.7/topics/i18n/timezones/) 特性,需要安裝 pytz:
$ sudo pip install pytz
2. 運行項目
在運行項目之前,我們需要創建資料庫和表結構,這里我使用的默認資料庫:
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying sessions.0001_initial... OK
然後啟動服務:
$ python manage.py runserver
你會看到下面的輸出:
Performing system checks...
System check identified no issues (0 silenced).
January 28, 2015 - 02:08:33
Django version 1.7.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
這將會在埠8000啟動一個本地伺服器, 並且只能從你的這台電腦連接和訪問。 既然伺服器已經運行起來了,現在用網頁瀏覽器訪問 http://127.0.0.1:8000/。你應該可以看到一個令人賞心悅目的淡藍色 Django 歡迎頁面它開始工作了。
你也可以指定啟動埠:
$ python manage.py runserver 8080
以及指定 ip:
$ python manage.py runserver 0.0.0.0:8000
3. 創建 app
前面創建了一個項目並且成功運行,現在來創建一個 app,一個 app 相當於項目的一個子模塊。
在項目目錄下創建一個 app:
$ python manage.py startapp polls
如果操作成功,你會在 mysite 文件夾下看到已經多了一個叫 polls 的文件夾,目錄結構如下:
polls
├── __init__.py
├── admin.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
└── views.py
1 directory, 6 files
4. 創建模型
每一個 Django Model 都繼承自 django.db.models.Model
在 Model 當中每一個屬性 attribute 都代表一個 database field
通過 Django Model API 可以執行資料庫的增刪改查, 而不需要寫一些資料庫的查詢語句
打開 polls 文件夾下的 models.py 文件。創建兩個模型:
import datetime
from django.db import models
from django.utils import timezone
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
question = models.ForeignKey(Question)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
然後在 mysite/settings.py 中修改 INSTALLED_APPS 添加 polls:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls',
)
在添加了新的 app 之後,我們需要運行下面命令告訴 Django 你的模型做了改變,需要遷移資料庫:
$ python manage.py makemigrations polls
你會看到下面的輸出日誌:
Migrations for 'polls':
0001_initial.py:
- Create model Choice
- Create model Question
- Add field question to choice
你可以從 polls/migrations/0001_initial.py 查看遷移語句。
運行下面語句,你可以查看遷移的 sql 語句:
$ python manage.py sqlmigrate polls 0001
輸出結果:
BEGIN;
CREATE TABLE "polls_choice" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL);
CREATE TABLE "polls_question" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "question_text" varchar(200) NOT NULL, "pub_date" datetime NOT NULL);
CREATE TABLE "polls_choice__new" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL, "question_id" integer NOT NULL REFERENCES "polls_question" ("id"));
INSERT INTO "polls_choice__new" ("choice_text", "votes", "id") SELECT "choice_text", "votes", "id" FROM "polls_choice";
DROP TABLE "polls_choice";
ALTER TABLE "polls_choice__new" RENAME TO "polls_choice";
CREATE INDEX polls_choice_7aa0f6ee ON "polls_choice" ("question_id");
COMMIT;
你可以運行下面命令,來檢查資料庫是否有問題:
$ python manage.py check
再次運行下面的命令,來創建新添加的模型:
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, contenttypes, polls, auth, sessions
Running migrations:
Applying polls.0001_initial... OK
總結一下,當修改一個模型時,需要做以下幾個步驟:
修改 models.py 文件
運行 python manage.py makemigrations 創建遷移語句
運行 python manage.py migrate,將模型的改變遷移到資料庫中
你可以閱讀 django-admin.py documentation,查看更多 manage.py 的用法。
創建了模型之後,我們可以通過 Django 提供的 API 來做測試。運行下面命令可以進入到 python shell 的交互模式:
$ python manage.py shell
下面是一些測試:
>>> from polls.models import Question, Choice # Import the model classes we just wrote.
# No questions are in the system yet.
>>> Question.objects.all()
[]
# Create a new Question.
# Support for time zones is enabled in the default settings file, so
# Django expects a datetime with tzinfo for pub_date. Use timezone.now()
# instead of datetime.datetime.now() and it will do the right thing.
>>> from django.utils import timezone
>>> q = Question(question_text="What's new?", pub_date=timezone.now())
# Save the object into the database. You have to call save() explicitly.
>>> q.save()
# Now it has an ID. Note that this might say "1L" instead of "1", depending
# on which database you're using. That's no biggie; it just means your
# database backend prefers to return integers as Python long integer
# objects.
>>> q.id
1
# Access model field values via Python attributes.
>>> q.question_text
"What's new?"
>>> q.pub_date
datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)
# Change values by changing the attributes, then calling save().
>>> q.question_text = "What's up?"
>>> q.save()
# objects.all() displays all the questions in the database.
>>> Question.objects.all()
[<Question: Question object>]
列印所有的 Question 時,輸出的結果是 [<Question: Question object>],我們可以修改模型類,使其輸出更為易懂的描述。修改模型類:
from django.db import models
class Question(models.Model):
# ...
def __str__(self): # __unicode__ on Python 2
return self.question_text
class Choice(models.Model):
# ...
def __str__(self): # __unicode__ on Python 2
return self.choice_text
接下來繼續測試:
>>> from polls.models import Question, Choice
# Make sure our __str__() addition worked.
>>> Question.objects.all()
[<Question: What's up?>]
# Django provides a rich database lookup API that's entirely driven by
# keyword arguments.
>>> Question.objects.filter(id=1)
[<Question: What's up?>]
>>> Question.objects.filter(question_text__startswith='What')
[<Question: What's up?>]
# Get the question that was published this year.
>>> from django.utils import timezone
>>> current_year = timezone.now().year
>>> Question.objects.get(pub_date__year=current_year)
<Question: What's up?>
# Request an ID that doesn't exist, this will raise an exception.
>>> Question.objects.get(id=2)
Traceback (most recent call last):
...
DoesNotExist: Question matching query does not exist.
# Lookup by a primary key is the most common case, so Django provides a
# shortcut for primary-key exact lookups.
# The following is identical to Question.objects.get(id=1).
>>> Question.objects.get(pk=1)
<Question: What's up?>
# Make sure our custom method worked.
>>> q = Question.objects.get(pk=1)
# Give the Question a couple of Choices. The create call constructs a new
# Choice object, does the INSERT statement, adds the choice to the set
# of available choices and returns the new Choice object. Django creates
# a set to hold the "other side" of a ForeignKey relation
# (e.g. a question's choice) which can be accessed via the API.
>>> q = Question.objects.get(pk=1)
# Display any choices from the related object set -- none so far.
>>> q.choice_set.all()
[]
# Create three choices.
>>> q.choice_set.create(choice_text='Not much', votes=0)
<Choice: Not much>
>>> q.choice_set.create(choice_text='The sky', votes=0)
<Choice: The sky>
>>> c = q.choice_set.create(choice_text='Just hacking again', votes=0)
# Choice objects have API access to their related Question objects.
>>> c.question
<Question: What's up?>
# And vice versa: Question objects get access to Choice objects.
>>> q.choice_set.all()
[<Choice: Not much>, <Choice: The sky>, <Choice: Just hacking again>]
>>> q.choice_set.count()
3
# The API automatically follows relationships as far as you need.
# Use double underscores to separate relationships.
# This works as many levels deep as you want; there's no limit.
# Find all Choices for any question whose pub_date is in this year
# (reusing the 'current_year' variable we created above).
>>> Choice.objects.filter(question__pub_date__year=current_year)
[<Choice: Not much>, <Choice: The sky>, <Choice: Just hacking again>]
# Let's delete one of the choices. Use delete() for that.
>>> c = q.choice_set.filter(choice_text__startswith='Just hacking')
>>> c.delete()
>>>
上面這部分測試,涉及到 django orm 相關的知識,詳細說明可以參考 Django中的ORM。
5. 管理 admin
Django有一個優秀的特性, 內置了Django admin後台管理界面, 方便管理者進行添加和刪除網站的內容.
新建的項目系統已經為我們設置好了後台管理功能,見 mysite/settings.py:
INSTALLED_APPS = (
'django.contrib.admin', #默認添加後台管理功能
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mysite',
)
同時也已經添加了進入後台管理的 url, 可以在 mysite/urls.py 中查看:
url(r'^admin/', include(admin.site.urls)), #可以使用設置好的url進入網站後台
接下來我們需要創建一個管理用戶來登錄 admin 後台管理界面:
$ python manage.py createsuperuser
Username (leave blank to use 'june'): admin
Email address:
Password:
Password (again):
Superuser created successfully.
總結
最後,來看項目目錄結構:
mysite
├── db.sqlite3
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
├── polls
│ ├── __init__.py
│ ├── admin.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── __init__.py
│ ├── models.py
│ ├── templates
│ │ └── polls
│ │ ├── detail.html
│ │ ├── index.html
│ │ └── results.html
│ ├── tests.py
│ ├── urls.py
│ ├── views.py
└── templates
└── admin
└── base_site.htm
通過上面的介紹,對 django 的安裝、運行以及如何創建視 圖和模型有了一個清晰的認識,接下來就可以深入的學習 django 的自動化測試、持久化、中間件、國 際 化等知識。
『陸』 請問如何使用django寫網站
你這個問起來就一句話,但要講清楚太難了。先了解一下django的框架吧,了解下網頁是怎麼向後台請求數據,後台把數據處理完了再怎麼發送給html.Django框架(一)
『柒』 如何在阿里雲上部署django網站
Django的部署建議放在Linux系統上。比較易於新手入門的Linux伺服器發布版應該是Ubuntu,aliyun上目前最新版本應該是16.04,建議64位。
如果你是新網站,沒有多少訪問量,建議1核1內存或者2G內存,1-2M的寬頻就足夠了。最近雙十一還有活動。
部署,安裝Nginx:
aptinstallnginx
不知道你的Django項目是python2還是Python3,如果選用uwsgi部署方式,除了uwsig需要裝一個uwsgi-plugin-python或者uwsgi-plugin-python3
剩下的看官方文檔的uwsgi部署部分基本就ok了,因為全寫實在太長了,還有www.ini的uwsgi配置文件。
『捌』 如何創建一個Django網站
Django的安裝
運行環境:Windows vista, python2.7
python安裝路徑:C:\Python27
從 https://www.djangoproject.com/ 下載django安裝包。
解壓後,進入django目錄,運行 python setup.py install,啟動安裝。
Django被安裝在 C:\Python27\Lib\site-packages
第一個工程的創建
生成工程框架:
c:\test\mysite>python C:\Python27\Lib\site-packages\django\bin\django-admin.py startproject mysite1
運行開發伺服器:
python manage.py runserver
在瀏覽器中,訪問 http://127.0.0.1:8000/,看到 「Welcome to Django」 的提示。
如果解決了您的問題請採納!
如果未解決請繼續追問!
『玖』 如何創建一個Django網站
本文演示如何創建一個簡單的 django 網站,使用的 django 版本為1.7。
1. 創建項目
運行下面命令就可以創建一個 django 項目,項目名稱叫 mysite :
$ django-admin.py startproject mysite
創建後的項目目錄如下:
mysite
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
說明:
__init__.py :讓 Python 把該目錄當成一個開發包 (即一組模塊)所需的文件。 這是一個空文件,一般你不需要修改它。
manage.py :一種命令行工具,允許你以多種方式與該 Django 項目進行交互。 鍵入python manage.py help,看一下它能做什麼。 你應當不需要編輯這個文件;在這個目錄下生成它純是為了方便。
settings.py :該 Django 項目的設置或配置。
urls.py:Django項目的URL路由設置。目前,它是空的。
wsgi.py:WSGI web 應用伺服器的配置文件。更多細節,查看 How to deploy with WSGI
接下來,你可以修改 settings.py 文件,例如:修改 LANGUAGE_CODE、設置時區 TIME_ZONE