Ответ 1
Да, есть пример MVC из команды DLR.
Вас также может заинтересовать Spark.
Кто-нибудь пробовал ASP.NET MVC с помощью IronPython? Проделав много разработок Python в последнее время, было бы неплохо продолжить работу с языком, поскольку я вхожу в потенциальный проект ASP.NET MVC.
Мне особенно интересно использовать динамические аспекты Python с такими функциями .NET, как LINQ, и хочу знать, будет ли это возможно. Другим маршрутом, который может быть жизнеспособным для определенного динамического программирования, будет С# 4.0 с его ключевым словом dynamic
.
Мысли, переживания?
Да, есть пример MVC из команды DLR.
Вас также может заинтересовать Spark.
Использование IronPython в ASP.NET MVC: http://www.codevoyeur.com/Articles/Tags/ironpython.aspx
Эта страница содержит следующие статьи:
В настоящее время я работаю над этим. Он уже поддерживает множество вещей: https://github.com/simplic-systems/ironpython-aspnet-mvc
дополнительную информацию об этом:
Импортируйте модуль aspnet
import aspnet
Вы можете написать собственный контроллер
class HomeController(aspnet.Controller):
def index(self):
return self.view("~/Views/Home/Index.cshtml")
Вы можете автоматически зарегистрировать весь контроллер
aspnet.Routing.register_all()
Вы можете использовать разные http-методы
@aspnet.Filter.httpPost
def postSample(self):
return self.view("~/Views/Home/Index.cshtml")
И есть намного больше. Вот очень короткий пример
# ------------------------------------------------
# This is the root of any IronPython based
# AspNet MVC application.
# ------------------------------------------------
import aspnet
# Define "root" class of the MVC-System
class App(aspnet.Application):
# Start IronPython asp.net mvc application.
# Routes and other stuff can be registered here
def start(self):
# Register all routes
aspnet.Routing.register_all()
# Set layout
aspnet.Views.set_layout('~/Views/Shared/_Layout.cshtml')
# Load style bundle
bundle = aspnet.StyleBundle('~/Content/css')
bundle.include("~/Content/css/all.css")
aspnet.Bundles.add(bundle)
class HomeController(aspnet.Controller):
def index(self):
return self.view("~/Views/Home/Index.cshtml")
def page(self):
# Works also with default paths
return self.view()
def paramSample(self, id, id2 = 'default-value for id2'):
# Works also with default paths
model = SampleModel()
model.id = id
model.id2 = id2
return self.view("~/Views/Home/ParamSample.cshtml", model)
@aspnet.Filter.httpPost
def postSample(self):
return self.view("~/Views/Home/Index.cshtml")
class SampleModel:
id = 0
id2 = ''
class ProductController(aspnet.Controller):
def index(self):
return self.view("~/Views/Product/Index.cshtml")