В views.py (сотовый телефон и дата-время) есть 2 функции.django set multiply function for single url
views.py:
from django.http import *
from django.shortcuts import render
from django.http import HttpResponseRedirect
import pymysql
def cellphone(request):
from bs4 import BeautifulSoup
from urllib.request import urlopen
url ='http://www.digikala.com/Product/DKP-95906/Huawei-Mate-S-Dual-SIM-64GB-Mobile-Phone/'
data = urlopen(url)
soup = BeautifulSoup(data, 'html.parser')
price = soup.body.find('span', attrs={'id':'frmLblPayablePriceAmount'}).text
return render(request, 'system.html', {'price': price})
def datetime(request):
import datetime
now = datetime.datetime.now()
return render(request, 'system.html', {'now': now})
system.html:
<html>
<head>
<style>
body {
padding: 0px;
margin: 0px;
background: #3A3F44;
}
</style>
</head>
<body>
<div style="height: 50px;background:#16A085;">
* {{ price }} * {{ now }} *
</div>
</body>
</html>
(Здесь, так как функция функции мобильного телефона была установлена для системы URL, функция даты и времени не будет работы.)
urls.py:
from django.conf.urls import include, url
from system.views import cellphone, datetime
urlpatterns = [
url(r'^system/', cellphone),
url(r'^system/', datetime),
Я хочу, чтобы страница загружалась, обе функции работают, и я вижу цену и дату и время на экране. Как это возможно?
=============================================================================================================================================== ===========
Можно ли это сделать?
Я создал datetime.html
файл:
<b> {{ now }} </b>
А потом изменили только эту часть
return render(request, 'datetime.html', {'now': now})
из views.py. Следующая изменилась system.html как это:
* {{ price }} * {% include 'datetime.html' %} *
Но что делать дальше? Какие изменения я могу сделать в urls.py? Это работает? Обе отдельные функции работают на одной веб-странице с одним URL-адресом, правильно ?!
версии Джанго вы используете? – maazza
Django Версия: 1.8.2 и версия Python: 3.4.3 – niloofar
вам нужно сделать одно представление, которое даст вам оба значения, один запрос приведет к одному виду. Просто добавьте 'now': datetime.now() в контекст в виде сотового телефона. – krs