Angularjs के साथ मेज़ानाइन का प्रयोग करें

मैं एक साधारण वेबसाइट स्थापित कर रहा हूं, और मैं UI के लिए angularjs को एकीकृत करना चाहता था। हालांकि, ऐसा लगता है कि सीएमएस सबकुछ लेता है और सबकुछ पूरा करता है, जिसमें कुछ भी शामिल है जो मैं कोणीय के माध्यम से सेवा करना चाहता हूं।

मेरी urls.py फ़ाइल:

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    (r'^users/', include('apps.site_users.urls')),
    url('^$', 'mezzanine.pages.views.page', {'slug': '/'}, name='home'),
    url('', include('social.apps.django_app.urls', namespace='social')),
    ('^', include('mezzanine.urls')),
)

सीएमएस के बिना एंजुलरज के काम करने के लिए मेरे पास सभी आवश्यक परिवर्तन हैं, सबकुछ ठीक से लोड होता है, लेकिन इसका मतलब है कि मैं सीएमएस में मौजूद अन्य पृष्ठों की सेवा नहीं कर सकता। क्या करने की जरूरत है पर कोई विचार?

3

1 उत्तर

आप एचटीएमएल 5 मोड एंजुलर पर अपने ऐप की रूटिंग और डीजेगो के माध्यम से आपके बेस यूआरएल को सेट करके, यह सुनिश्चित कर लें कि कोई भी अनकही यूआरएल योजना "होम" यूआरएल पर रीडायरेक्ट हो:

Django पर:

# urls.py
urlpatterns = patterns("",
    # Change the admin prefix here to use an alternate URL for the
    # admin interface, which would be marginally more secure.
    ("^admin/", include(admin.site.urls)),

    # If you'd like more granular control over the patterns in
    # ``mezzanine.urls``, go right ahead and take the parts you want
    # from it, and use them directly below instead of using
    # ``mezzanine.urls``.
    ("^", include("mezzanine.urls")),

    # AngularJS HTML5 mode (ie, remove the /#/ from URLs):
    # We need to redirect any uncaught URL schemes to the default home view.
    # http://scotch.io/quick-tips/js/angular/pretty-urls-in-angularjs-removing-the-hashtag
    url(r'^.*$', TemplateView.as_view(template_name='index.html'), name='home'),

    # etc...
)

कोणीय पर:

// app.js
app.config(function ($routeProvider, $locationProvider) {
  $routeProvider
    .when('/', {
      templateUrl: '/static/app/views/home.html',
    })
    .when('/profile/:profileId', {
      templateUrl: '/static/app/views/profile.html',
      controller: 'ProfileCtrl'
    })
    .when('/results', {
      templateUrl: '/static/app/views/results.html',
      controller: 'ResultsCtrl'
    })
    .otherwise({
      redirectTo: '/'
    });

    $locationProvider.html5Mode(true);
  });
});

एचटीएमएल पर:

<!-- index.html -->
<!DOCTYPE HTML>

  <head>
    
    <!-- etc -->
  </head>
  <!-- etc -->
</html>

संबंधित ब्लॉग पोस्ट यहां पोस्ट करें।

1
जोड़ा
बहुत बढ़िया! मुझे इस पर छोड़ने के बाद से लंबा लगेगा, लेकिन मैं इसे आज़मा दूंगा
जोड़ा लेखक Stephen M, स्रोत
@nueverest मैं इसे अद्यतन करने के लिए भूल गया था ... धन्यवाद
जोड़ा लेखक Stephen M, स्रोत
@StephenM क्या यह काम करता है? यदि ऐसा है तो आप इसे उत्तर के रूप में स्वीकार करना चाहेंगे।
जोड़ा लेखक nu everest, स्रोत